java 创建自定义数组

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

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

    总结:

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

标签:java,自定义数组,数组
0
投稿

猜你喜欢

  • Java多线程ForkJoinPool实例详解

    2022-03-15 17:05:13
  • @NonNull导致无法序列化的问题及解决

    2021-07-21 23:07:33
  • Flutter开发通用页面Loading组件示例详解

    2022-05-18 23:41:09
  • C#实现的json序列化和反序列化代码实例

    2022-04-05 22:24:08
  • Android操作系统之内存回收策略

    2021-09-26 06:38:01
  • JavaWeb使用POI操作Excel文件实例

    2022-06-12 18:19:30
  • 通过Java带你了解网络IO模型

    2022-12-25 10:59:22
  • Java 单例模式的实现资料整理

    2022-05-29 21:27:33
  • java并发包JUC同步器框架AQS框架原文翻译

    2022-08-22 22:17:23
  • java实现秒表功能

    2023-07-06 05:55:13
  • Mybatis逆向工程运行代码实例

    2021-06-22 04:54:59
  • elasticsearch集群cluster示例详解

    2023-12-11 16:49:27
  • 合并有序数组的实现(java与C语言)

    2023-08-16 13:45:40
  • JavaWeb开发基于ssm的校园服务系统(实例详解)

    2022-11-07 16:40:48
  • C#延时函数的使用说明

    2023-10-11 19:58:34
  • javaweb图书商城设计之用户模块(1)

    2023-10-30 09:22:57
  • 一文详解如何在Flutter中使用导航Navigator

    2022-06-15 05:52:32
  • java的main方法中调用spring的service方式

    2023-03-29 00:12:16
  • java 多线程死锁详解及简单实例

    2022-02-25 19:48:52
  • 为什么入门大数据选择Python而不是Java?

    2022-04-01 00:14:46
  • asp之家 软件编程 m.aspxhome.com