java创建对象数组然后用构造方法实例化 5
publicvoidadd(inta){ssxxxinxi[]=newssxx[a];Stringpanduan;i=0;do{System.out.print("请输入...
public void add(int a){
ssxx xinxi[]=new ssxx[a];
String panduan;
i=0;
do{
System.out.print("请输入学号:");
xinxi[i].sid = sc.nextInt();
for(j=0;j<=0;j++){
if(xinxi[i].sid == xinxi[j].sid){
System.out.print("录入失败,错误信息,请重新输入学号");
xinxi[i].sid = sc.nextInt();
j=0;
}
}
System.out.print("请输入姓名:");
xinxi[i].name = sc.next();
System.out.print("请输入性别:");
xinxi[i].sex = sc.next().charAt(0);
System.out.print("请输入年龄:");
xinxi[i].age = sc.nextInt();
i++;
if(i == a-1 ){
System.out.println("学生信息全部添加完成");
break;
}
System.out.print("是否继续录入信息?(yes/no)");
panduan = sc.next();
}while(panduan == "yes");
}
用这个对象数组的时候报错
Exception in thread "main" java.lang.NullPointerException
at system.add(system.java:22)
at demo.main(demo.java:8)
怎么解决 求大大!
public class ssxx {
int sid;
String name;
char sex;
int age;
int scroe;
}
这是ssxx类 展开
ssxx xinxi[]=new ssxx[a];
String panduan;
i=0;
do{
System.out.print("请输入学号:");
xinxi[i].sid = sc.nextInt();
for(j=0;j<=0;j++){
if(xinxi[i].sid == xinxi[j].sid){
System.out.print("录入失败,错误信息,请重新输入学号");
xinxi[i].sid = sc.nextInt();
j=0;
}
}
System.out.print("请输入姓名:");
xinxi[i].name = sc.next();
System.out.print("请输入性别:");
xinxi[i].sex = sc.next().charAt(0);
System.out.print("请输入年龄:");
xinxi[i].age = sc.nextInt();
i++;
if(i == a-1 ){
System.out.println("学生信息全部添加完成");
break;
}
System.out.print("是否继续录入信息?(yes/no)");
panduan = sc.next();
}while(panduan == "yes");
}
用这个对象数组的时候报错
Exception in thread "main" java.lang.NullPointerException
at system.add(system.java:22)
at demo.main(demo.java:8)
怎么解决 求大大!
public class ssxx {
int sid;
String name;
char sex;
int age;
int scroe;
}
这是ssxx类 展开
4个回答
展开全部
Java创建对象数组然后构造方法实例化,如下:
package com.test;
import java.util.Arrays;
public class Employee {
/**
* 员工编号
*/
private String number;
/**
* 员工姓名
*/
private String name;
/**
* 员工薪水
*/
private double salary;
/**
* 无参数构造函数
*/
public Employee() {
System.out.println("调用了构造函数方法一,实例化对象");
}
/**
* 给属性赋值构造函数
* @param number
* @param name
* @param salary
*/
public Employee(String number, String name, double salary) {
super();
this.number = number;
this.name = name;
this.salary = salary;
System.out.println("调用构造函数方法二,实例化对象");
}
public static void main(String[] args) {
//构造Employee对象数组为2长度
Employee[] emp=new Employee[2];
//员工一(实例化),并且构造函数里设置值
Employee e1 = new Employee("e0001", "xiaoming", 5000.0);
//员工二(实例化),用set设置值,get的话可以获取到员工某个属性
Employee e2 = new Employee();
e2.setName("小二");
e2.setNumber("e0002");
e2.setSalary(5500.1);
//将实例化的对象存进数组中
emp[0]=e1;
emp[1]=e2;
System.out.println("实例化的数组对象为:"+Arrays.toString(emp));
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
@Override
public String toString() {
return "Employee [number=" + number + ", name=" + name + ", salary=" +
salary + "]";
}
}
运行结果:
调用构造函数方法二,实例化对象
调用了构造函数方法一,实例化对象
实例化的数组对象为:[Employee [number=e0001, name=xiaoming, salary=5000.0], Employee [number=e0002, name=小二, salary=5500.1]]
2015-11-19
展开全部
对象数组,创建数组后,数组的各元素,还有初始化的——创建对象实例的
追问
具体怎么改才对呢。。
追答
xinxi[i]
每个元素,在使用之前,要赋值
xinxi[i]=new ssxx();
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public class Demo{
private Integer[] array;
Demo(Integer[] array){
this.array = array;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-11-19
展开全部
这个是你自己想着写的还是看视频写的??
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |