import java.util.*;
class ManOne{
Scanner scanner=new Scanner(System.in);
String name;
boolean sex;
long num;
ManOne ob[]=new ManOne[2];
String informationgroup[]=new String[2];
void getin(){
for(int i=0;i<ob.length;i++){
System.out.println("Input the man's name");
ob[i].name=scanner.nextLine();
System.out.println("Input the man's sex");
ob[i].sex=scanner.nextBoolean();
scanner.nextLine();
System.out.println("Input the man's num");
ob[i].num=scanner.nextLong();
scanner.nextLine();
}
}
public String toString(int i){
return "the name is"+ ob[i].name+"the sex is "+ob[i].sex+"the num is"+num;
}
void savetheinformation(){
for(int i=0;i<informationgroup.length;i++){
informationgroup[i]=ob[i].toString(i);
}
}
void shower(){
for(int i=0;i<informationgroup.length;i++){
System.out.println(informationgroup[i]);
}
}
void settheinformation(){
System.out.println("Input the man's name");
name=scanner.nextLine();
System.out.println("Input the man's sex");
sex=scanner.nextBoolean();
scanner.nextLine();
System.out.println("Input the man's num");
num=scanner.nextLong();
scanner.nextLine();
}
String getMenber(String name){
if(this.name.endsWith(name)){
return name;
}
else{
return null;
}
}
}
public class TestForManone {
public static void main(String args[]){
ManOne A=new ManOne();
A.getin();
A.savetheinformation();
A.shower();
}
}
------解决方案--------------------
- Java code
ManOne ob[]=new ManOne[2];String informationgroup[]=new String[2];
------解决方案--------------------
ManOne ob[] = new ManOne[2];
这个需要初始化里面的对象啊兄弟,你只是创建了一个数组,但是数据里面没有初始化,所以[null,null]然后你用null来获取name属性,肯定就会空指针了。帮你改了一下
- Java code
class ManOne { Scanner scanner = new Scanner(System.in); String name; boolean sex; long num; ManOne ob[] = new ManOne[2]; String informationgroup[] = new String[2]; void getin() { for (int i = 0; i < ob.length; i++) { System.out.println("Input the man's name"); ob[i].name = scanner.nextLine(); System.out.println("Input the man's sex"); ob[i].sex = scanner.nextBoolean(); scanner.nextLine(); System.out.println("Input the man's num"); ob[i].num = scanner.nextLong(); scanner.nextLine(); } } public String toString(ManOne[] ob,int i) { return "the name is " + ob[i].name + " the sex is " + ob[i].sex + " the num is" + num; } void savetheinformation(ManOne[] ob) { for (int i = 0; i < informationgroup.length; i++) { informationgroup[i] = ob[i].toString(ob,i); } } void shower() { for (int i = 0; i < informationgroup.length; i++) { System.out.println(informationgroup[i]); } } void settheinformation() { System.out.println("Input the man's name"); name = scanner.nextLine(); System.out.println("Input the man's sex"); sex = scanner.nextBoolean(); scanner.nextLine(); System.out.println("Input the man's num"); num = scanner.nextLong(); scanner.nextLine(); } String getMenber(String name) { if (this.name.endsWith(name)) { return name; } else { return null; } }}public class TestForManone { public static void main(String args[]) { ManOne A = new ManOne(); for(int i = 0; i < A.ob.length; i++){ A.ob[i] = new ManOne(); } A.getin(); A.savetheinformation(A.ob); A.shower(); }}