定义Student类
(1)成员变量有:姓名,年龄。
(2)对成员变量进行封装。
(3)定义getXXXX,setXXXX方法,其中对年龄的限定条件是:年龄大于0`。
定义主类,包含主方法
实现输入5个学生,输出年龄不符合要求 的学生人数和姓名。
如果年龄全部正确,输出“right”,如果全部错误,输出"all wrong"。
输入格式:
5行,每行1个学生信息,包括姓名和年龄
输出格式:
多行,第1行是不符合要求的人数 其余各行是不符合要求的学生的姓名 如果年龄全部正确,输出“right”,如果全部错误,输出"all wrong"。
输入样例:
zhang 18
Li -15
wang 0
zhao 20
wu -20
输出样例:
3
Li
wang
wu
代码展示:
import java.util.Scanner;
class Student{
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
if(age >0) {
this.age = age;
}
}
public Student() {
super();
}
public Student(String name, int age) {
super();
this.name = name;
this.age = age;
}
}
public class Main {
public static void main(String args[]) {
Scanner input = new Scanner(System.in);
Student[] arr = new Student[5];
String[] arr1 = new String[5];
int[] arr2 = new int[5];
for( int i = 0; i < 5; i++) {
String name = input.next();
int age = input.nextInt();
arr1[i] = name;
arr2[i] = age;
arr[i] = new Student();
arr[i].setAge(age);
arr[i].setName(name);//可能需要对其设置吧,不然过不了
}
int count=0;
for(int i=0;i<5;i++) {
if(arr2[i]<=0) {
count++;
}
}
if(count==0) {
System.out.println("right");
}
else if(count==5) {
System.out.println("all wrong");
}
else {
System.out.println(count);
for(int i=0;i<5;i++) {
if(arr2[i]<=0) {
System.out.println(arr[i].getName());
}
}
}
}
}
总结:可以用数组先把数据存起来,也可以直接利用对象存,不过,这里好像需要设置,不然过不了任务点。