以下是我目前掌握的情况:
Scanner reader = new Scanner(System.in);
//variables
int NumberOfStudents;
System.out.print("How many students are in the class?: ");
NumberOfStudents = reader.nextInt();
reader.nextLine();
//objects
String [] names = new String[NumberOfStudents]; //Creates an array based on the number of students
//input
for (int i = 0; i < NumberOfStudents; i++){
System.out.print("What is student number " + (i+1) + "'s name?: ");
names[i] = reader.nextLine();
double [] names[i] = new double [5]; //declares each student name as a separate array
}
其中,我有一行double[]names[I]=new double[5];
,它应该取索引I
处的names[]
数组的值,并将其转换为长度为5的数组。因此,如果names[1]=ann
,它应该创建一个长度为5的数组ann[]
。但是,它会抛出一个非法的表达式开始错误。
我也尝试使用临时变量来帮助声明多个数组,但是我得到了更多的错误以及表达式的非法开始。
有没有什么方法可以在不使用多维数组的情况下解决这个问题呢?
提前道谢。
要在不使用多维数组的情况下做到这一点,可以创建一个students
类的数组,它将保存有关学生的信息,如firstname
、lastname
、grade
等。
学生班级:
public class Student(){
String fname, lname;
int grade;
public Student(String name){
String[] firstLast = name.split(" ");
fname = firstLast[0];
if(firstLast.length>1) lname = firstLast[1];
}
public string setFName(String nameOfStudent){
fname = nameOfStudent;
return fname;
}
// rest of code implementation
}
在当前类中:
Student array[] = new Student[NumberOfStudents];
for (int i = 0; i < NumberOfStudents; i++){
System.out.print("What is student number " + (i+1) + "'s name?: ");
String studentName = reader.nextLine();
array[i] = new Student(studentName); // initialize the array
}
问题内容: 看完之后,我才知道,是物体。数组的名称不是实际的数组,而只是引用。new运算符在堆上创建数组,并返回对新创建的数组对象的引用,然后将其分配给数组变量(名称)。类似于以下内容: 但是我也使用了这两种类型的数组声明。 和 以上两项均合法且可以正常工作。那么这两者之间有什么区别,我应该何时使用它们? 问题答案: 这将生成一个大小为5的数组,其中包含5个null元素: 如果这些值在编译时不是您
数组要占用内存空间。程序员指定每个元素的类型和每个数组所要的元素,使编译器可以保留相应的内存空间。要告诉编译器对整型数组c保留12个元素,可以声明如下: int c[12]; 可以在一个声明中为几个数组保留内存。下列声明对整型数组 b 保留 100 个元素,对整型数组x保留27个元素: int b[100],x[27]; 数组可以声明包含其他数据类型。例如,char 类型的数组可以存放字符串。字符
我试图显示一个对象数组,多个函数将不得不改变它。所以我试着让它成为可观察的(也许我错了)。 打字版本:2.7.2 rxjs:6.2.1角cli:6.0.8节点:8.11.3角:6.0.7 我的服务(IsolementService)中有一个变量声明为: 我的服务主要有两种方法 接口: 我的服务是呼叫组件: 但是当我编译时,我有一个错误TS2495:类型“Observable”不是数组或字符串类型。
问题内容: 是否可以在String方法中使用默认参数。代码如下所示: 上面的代码生成错误。有可能纠正吗? 问题答案: 不,您通常这样做的方法是重载这样的方法:
我想提供一些对一些特定型号/移动设备的推广。因此,如果我可以声明一组型号(如三星J5、小米Note2等),我可以很容易地启动这些型号的促销。请帮帮我.
问题内容: 我知道我可以这样做: 然后只需编写语句中所需的代码。 还有其他方法可以检查它们是否相等? 问题答案: 怎么了 if(!Arrays.equals(array1,array2)) 与相同,即是同一数组。这不是大多数人期望的。 比较数组的内容。