软件编程
位置:首页>> 软件编程>> java编程>> java 创建自定义数组

java 创建自定义数组

作者:lqh  发布时间:2022-09-02 11:18:45 

标签:java,自定义数组,数组

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();
 }
}

    总结:

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

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com