一、文字版格斗游戏
输出语句
String[] attacks_desc={
"%s文字版格斗游戏%s。"
};
//两部分参数
//第一部分:要输出的内容%s(占位)
//第二部分:填充的数据
System.out.printf("你好啊%s","张三")//output:你好啊张三------>没有换行效果
二、对象数组
键盘录入
(1)第一套体系
特点:遇到空格,制表符,回车就停止接收,这些字符后面的数据就不会接收了
next():接收字符串
nextInt():接收整数
nextDouble():接收小数
(2)第二套体系
特点:可以接收空格,制表符,遇到回车才停止接收数据
nextLine():接收字符串
(3)注意
键盘录入的两套体系不能混用(混用存在弊端!)
//输入123 123
next();//123
nextLine();// 空格123
三、复杂对象数组
1.问题一
在判断数组中某学生的id是否重复时,必须对数组是否为空进行判断,否则会报错
public static boolean contains(Student[] arr,int id){
Student stu = new Student();
for (int i = 0; i < arr.length; i++) {
stu = arr[i];
if (stu != null){//如果不对数组是否存满进行判断,则当数组不满,判断id是否重复时会报错
int sid = stu.getId();
if (sid == id){
return true;
}
}
}
return false;
}
2.问题二
在进行数组输出时,也要对数组是否存满进行判断
public static void printArr(Student[] arr){
for (int i = 0; i < arr.length; i++) {
Student stu = new Student();
stu = arr[i];
if(stu != null){//数组元素可能为空
System.out.println(stu.getId() + "," + stu.getName() + "," + stu.getAge());
}
}
}