生活随笔
收集整理的這篇文章主要介紹了
下沉的船_JAVA
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Description
一艘船很不幸的撞上了暗礁,船長組織大家上救生艇,而且船長決定女人(woman)和小孩(child)先上船,然后其次是男人(man),最后是船長(captain)。給出原來的順序,通過編程得到按船長要求排列后的順序。
身份優先級: woman = child > man > captain.
注意:如果兩者的身份優先級一樣,請按原來的序列的順序決定,原序列中在前面的人,依然在前面(具體請看樣例)
Input
多組數據(少于10組),每一組有一個整數n(0<n<100),代表船上有n個人,接下來n行,每行有一個名字和他的身份。名字字符長度小于10。數據保證不存在重名,注意可能存在多名船長
Output
輸出n行,每一行輸出一個名字,先上船的名字在前面。
Sample
Input
6
Jack captain
Alice woman
Charlie man
Teddy woman
Bob child
Julia woman
Output
Alice
Teddy
Bob
Julia
Charlie
Jack
Hint
import java
.util
.ArrayList
;
import java
.util
.List
;
import java
.util
.Scanner
;class Ship {String name
;String id
;public Ship(String name
, String id
) {super();this.name
= name
;this.id
= id
;}@Overridepublic String
toString() {return name
;}}public class Main {public static void main(String
[] args
) {Scanner reader
= new Scanner(System
.in
);List
<Ship> woman_child
= new ArrayList<Ship>();List
<Ship> man
= new ArrayList<Ship>();List
<Ship> captain
= new ArrayList<Ship>();while (reader
.hasNext()) {woman_child
.clear();man
.clear();captain
.clear();int n
= reader
.nextInt();while (n
-- > 0) {Ship ship
= new Ship(reader
.next(), reader
.next());if (ship
.id
.equals("woman") || ship
.id
.equals("child")) {woman_child
.add(ship
);} else if (ship
.id
.equals("man"))man
.add(ship
);elsecaptain
.add(ship
);}for (Ship i
: woman_child
) {System
.out
.println(i
);}for (Ship i
: man
) {System
.out
.println(i
);}for (Ship i
: captain
) {System
.out
.println(i
);}}reader
.close();}
}
總結
以上是生活随笔為你收集整理的下沉的船_JAVA的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。