李的編程
『壹』 java編程題中,四個學生小李,小張,小趙,和小王在打籃球,現在編寫一個程序,模擬他們搶籃球的過程,
ご參照してください。
public class People {
private String name;
public int num;
public People(String name) {
this.name = name;
this.num = 0;
}
public String getName() {
return this.name;
}
}
--------------------------------------------------------------------------------------------------
public class Play {
public static void main(String[] args) {
Play play = new Play();
List<People> pl = new ArrayList<People>();
pl.add(new People("小王"));
pl.add(new People("小張"));
pl.add(new People("小趙"));
pl.add(new People("小李"));
while(pl.size() > 0) {
play.challenge(pl);
}
}
private void challenge(List<People> pl) {
Random rd = new Random();
// この人はリストにのインデックス。リストは人がひとつある場合、ゼロです。
int nowPeople = pl.size() > 0 ? rd.nextInt(pl.size()) : 0;
int total = pl.get(nowPeople).num + 1;
pl.get(nowPeople).num = total;
System.out.println(pl.get(nowPeople).getName() + "搶到了,第" + total + "次球");
// 何番目でアウトする
if (total == 7) {
System.out.println(pl.get(nowPeople).getName() + "不想玩了");
pl.remove(nowPeople);
}
}
}
『貳』 java編程一個輸入名字,使得可以輸出區分姓和名
幫你寫了一個,實現基本功能,加了一點基本的輸入錯誤判斷。需要其他更細節的部分可以自己完成。
importjava.util.Scanner;
publicclassTest{
publicstaticvoidmain(Stringargs[]){
Stringsurname[]={"王","李","宋","歐陽","諸葛"};//姓氏字元串數組
Stringname="";//輸入的姓名
Stringsname1="";//輸入姓名的前一個字元
Stringsname2="";//輸入姓名的前兩個字元
Stringlname="";
inti=0;
intflag=3;//表示姓氏數組中開始出現復姓的位置
intj=flag;
booleantemp=true;
//輸入姓名
Scannerin=newScanner(System.in);
while(temp){
System.out.print("請輸入姓名:");
name=in.nextLine();
if(name.length()<2){
System.out.println("您輸入的姓名不合規范!");
}else{
temp=false;
sname1=name.substring(0,1);
sname2=name.substring(0,2);
}
}
for(i=0;i<flag;i++){
//如果單姓
if(surname[i].equals(sname1)){
lname=name.substring(1,name.length());
System.out.println("姓:"+sname1+"&名:"+lname);
break;
}
}
for(j=flag;j<surname.length;j++){
//如果單姓
if(surname[j].equals(sname2)){
lname=name.substring(2,name.length());
System.out.println("姓:"+sname2+"&名:"+lname);
break;
}
}
//如果姓氏不存在
if(i==flag&&j==surname.length){
System.out.println("姓氏不存在!");
}
}
}