gpt4 book ai didi

java - 继续输入值直到数组已满?

转载 作者:行者123 更新时间:2023-12-02 05:16:48 25 4
gpt4 key购买 nike

我正在创建一个保存学生测验分数的类(class)。这是规范:构造函数是A。使用输入参数的长度创建一个 int 类型数组的实例。每个数组中的元素初始化为-1。b. count设置为0,不是数组的长度,而是有效的个数分数。换句话说,分数是部分填充的数组,计数是用作有效分数的结束位置。C。使用第二个输入参数设置名称。

我在使用 add 方法时遇到问题。我必须输入学生将参加多少次测验的大小,然后添加他们参加的每个测验的分数,直到数组填满。

示例:如果我输入测验的大小为 3,我将能够添加 3 个不同的分数,但如果我超过 3,它必须显示一条消息,例如“数组已满。值 _____ 不能予以补充”。

这是我迄今为止为类(class)所做的内容:

public class Quiz {

private static int [] scores;
private int count;
private static String name;


public Quiz (int[] scores, int count, String name){
int size=0;
scores=new int [size];
count=0;
name=" ";
}

public void addScores( int [] scores){
int size=0;
scores=new int [size];
for(int i=0; i<size;i++)
if(i<size)
System.out.println(scores[i]);
else
System.out.println("Array is full! the value"+ " " + scores + " "+ "cannot be added.");

}

这是测试驱动程序代码的一部分:

Scanner in = new Scanner (System.in);

do {
System.out.println("\nPlease enter a command or type ?");
String choice;

choice = in.next().toLowerCase();
command = choice.charAt(0);
switch (command) {
case 'n':
System.out.println("[Create a new data]");
System.out.println("[Input the size of quizzes]:"+ " ");
int size=in.nextInt();
String linebreak = in.nextLine();
System.out.println("[Input the name of student]:"+ " ");
String name=in.nextLine();

break;

case 'a':
System.out.println("a [Add a score]:"+ " ");{

int i=0;
i=in.nextInt();

break;
}
}

最佳答案

查看 addScores 方法中的代码。您向其传递了一个 int 数组 scores ,但将其值设置为大小为 0 的新数组。您需要省略以下行:

 scores=new int [size];

并且您需要将大小变量设置为传入数组的大小。

 int size = scores.length;

关于java - 继续输入值直到数组已满?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26868153/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com