java 创建自定义数组

时间:2021-05-19

1.java创建自定义类数组方法:

Student []stu = new Student[3];for(int i = 0; i < 3; i ++){stu[i] = new Student();}

2.否则会提示空指针异常

package project; import java.io.*;import java.util.Scanner;class Student{ private int id; private String name; private int score; public void setId(int id) { this.id = id; } public int getId() { return this.id; } public void setName(String name) { this.name = name; } public String getName() { return this.name; } public void setScore(int score) { this.score = score; } public int getScore() { return this.score; }}public class project2 { File file = new File("E:/data.txt"); FileWriter filewrite = null; BufferedWriter write = null; FileReader fileread = null; BufferedReader read = null; Student []stu = new Student[3]; public void put() { try { filewrite = new FileWriter(file); } catch (IOException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } write = new BufferedWriter(filewrite); for(int i = 0; i < 3; i ++) { System.out.println("请输入第" + (i + 1) + "个学生的ID,姓名,成绩:"); Scanner in = new Scanner(System.in); try { String str = in.nextLine(); String data[] = str.split(" "); for(int j = 0; j < 3; j++) { write.write(data[j]); write.newLine(); } } catch (IOException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } } try { write.close(); filewrite.close(); } catch (IOException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } } public void get() { int sum = 0; double ave; try { fileread = new FileReader(file); } catch (FileNotFoundException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } read = new BufferedReader(fileread); for(int i = 0; i < 3; i ++) { stu[i] = new Student(); try { stu[i].setId(Integer.parseInt(read.readLine())); stu[i].setName(read.readLine()); stu[i].setScore(Integer.parseInt(read.readLine())); } catch (Exception e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } } for(int i = 0; i < 3; i ++) { sum += stu[i].getScore(); } ave = sum * 1.0/3; System.out.println("学生的平均成绩为:" + ave); try { read.close(); fileread.close(); } catch (IOException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } } public static void main (String []args) { project2 pro = new project2(); pro.put(); pro.get(); }}

总结:

这样我们就可以在项目当中,根据项目需求自己来定义想要的数组.

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章