李的编程
‘壹’ 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("姓氏不存在!");
}
}
}