for循环中的两个数组

时间:2018-02-11 20:10:28

标签: java arrays for-loop

如何使用for循环询问学生[0]的成绩,[1]等?截至目前,我的for循环毫无意义。

apply plugin: 'com.android.application'

apply plugin: 'kotlin-android'

apply plugin: 'kotlin-android-extensions'


//arch
implementation "android.arch.lifecycle:runtime:${arch}"
implementation "android.arch.lifecycle:extensions:${arch}"
annotationProcessor "android.arch.lifecycle:compiler:${arch}"
//room
compile "android.arch.persistence.room:runtime:${archRoomVersion}"
annotationProcessor "android.arch.lifecycle:compiler:${arch}"

annotationProcessor "android.arch.persistence.room:compiler:${archRoomVersion}"
kapt "android.arch.persistence.room:compiler:1.0.0-alpha1"

必须有比硬编码每个学生和成绩阵列更好的方法。

2 个答案:

答案 0 :(得分:4)

您可以获取输入并将其分配给循环本身。

for(int i = 0; i < grades.length; i++) 
{
    System.out.print("Enter grade for " + students[i] + ": ");
    grades[i] = sc.nextInt();
}

这就是全部。您不需要重复代码,因为循环将通过使用索引i访问每个元素来执行此操作。

但是,我不确定代码中的grades[i] = i + 1;行是什么,因为您无论如何都会使用您获得的值覆盖该值。

答案 1 :(得分:0)

如果我正确地解释您的问题,您要做的是接受用户使用for循环的成绩值?我的答案如下,我还打印了可以接受的成绩。

public static void main(String[] args) {

    //declare grade and student array
    int[] grades = new int[5];
    String[] students = { "Bill", "Tom", "Mark", "Nic", "Miguel"};

    Scanner sc = new Scanner(System.in);
    System.out.println("please enter the grades of students");
    for(int i=0; i<students.length; i++){
       grades[i]= sc.nextInt();
    }

    for(int i=0; i<grades.length; i++){
        System.out.println(grades[i]);
    }

}