【java練習】SDUT 實驗四之集合框架類
阿新 • • 發佈:2018-11-26
I 2714下沉的船
一艘船很不幸的撞上了暗礁,船長組織大家上救生艇,而且船長決定女人(woman)和小孩(child)先上船,然後其次是男人(man),最後是船長(captain)。給出原來的順序,通過程式設計得到按船長要求排列後的順序。
身份優先順序: woman = child > man > captain.
注意:如果兩者的身份優先順序一樣,請按原來的序列的順序決定,原序列中在前面的人,依然在前面。
import java.math.BigInteger; import java.util.*; public class Main { public static void main(String[] args) { Scanner s = new Scanner(System.in); while(s.hasNext()) { int t=s.nextInt(); List<String>list1=new ArrayList<String>(); List<String>list2=new ArrayList<String>(); List<String>list3=new ArrayList<String>(); while(t-->0) { String a=s.next(); String b=s.next(); if(b.equals("woman")||b.equals("child")) list1.add(a); else if(b.equals("man")) list2.add(a); else if(b.equals("captain")) list3.add(a); } Iterator<String> iter1=list1.iterator(); while(iter1.hasNext()) { String str=iter1.next(); System.out.println(str); } Iterator<String> iter2=list2.iterator(); while(iter2.hasNext()) { String str=iter2.next(); System.out.println(str); } Iterator<String> iter3=list3.iterator(); while(iter3.hasNext()) { String str=iter3.next(); System.out.println(str); } } s.close(); } }
J 2397 分類遊戲
第一行給出m,n,第二行給出m個字首(單個大寫字母),後n行每行有一個單詞。輸出每個字首所匹配的一個或多個單詞,沒有不輸出。(忽略單詞首字母大小寫)
import java.math.BigInteger; import java.util.*; public class Main { public static void main(String[] args) { Scanner s = new Scanner(System.in); while(s.hasNext()) { int m=s.nextInt(); int n=s.nextInt(); char t[]=new char[10]; for(int i=0;i<m;i++) { String str=s.next(); t[i]=str.charAt(0); } List[] l=new List[120]; for(int i=0;i<n;i++) l[i]=new ArrayList(); for(int i=0;i<n;i++) { String s1=s.next(); for(int j=0;j<m;j++) { if(s1.toUpperCase().charAt(0)==t[j]) { l[j].add(s1); break; } } } for(int i=0;i<m;i++) { if(l[i].size()==0) continue; for(int j=0;j<l[i].size();j++) { System.out.print(l[i].get(j)); if(j==l[i].size()-1) System.out.println(); else System.out.print(" "); } } System.out.println(); } s.close(); } }
附學習集合連結:
我們為什麼要使用List和Set(List,Set詳解):https://blog.csdn.net/qq_34149805/article/details/68943004,作者:ConardLi