【问题标题】:java mehod to convert an array of chars[][] to an array of intjava方法将chars[][]数组转换为int数组
【发布时间】:2017-09-07 10:33:47
【问题描述】:

我正在尝试编写一个 java 方法来将 chars[][] 的数组(每个都属于 int array[])转换为 arrayint

public static int charArrayToInt (char[][] Grades, int[] studentList)  {
    int[][] studentGradesInt = new int[10][];       //create a new array to convert char 'grades to int 'grades'

    for (int Students : studentList) {              //for every student
        for (int i=0; i<Grades.length-1; i++ ) {    // for every ref to grade (array)
            switch (Grades[i]) {                    //convert grade in reference to appropriate value in new array
                case 'A': studentGradesInt[i] = '4'; 
                case 'B': studentGradesInt[i] = '3';
                case 'C': studentGradesInt[i] = '2';
            }
        }
    }
}

我想我有一个指向每个 Grades[] 引用的指针,但编译器在 switch 语句中抛出“char[] 无法转换为 int”。

如果有帮助,我的主要是:

public static void main(String[] args) {
    int[] studentIdList = new int[] {1001,1002,1003};
    char[][] studentsGrades = new char[][] { { 'A', 'A', 'A', 'B' }, { 'A', 'B', 'B' } , { 'A', 'B', 'C' , 'D' }};
    charArrayToInt(studentsGrades,studentIdList);
    System.out.println("grade_test: "+studentsGrades[2][2]);
    System.out.println("grade_test: "+studentGradesInt[2][2]);
}

【问题讨论】:

  • Grades 是一个字符[][],所以Grades[i] 给你一个char[],你想打开Grades[numStudent][i] 得到一个char。而且您知道'4' 不是值 4 而是 52 的 int,请参阅ASCII TABLE.?

标签: java arrays switch-statement


【解决方案1】:

您使用的是char[][] Grades,所以Grades[i] 给您一个char[],要获取特定的字符,您也需要指定二级索引:Grades[numStudent][i]

读取二维数组的一般实现如下:

for(int i = 0; i < Grades.length; ++i){ //for each row
    for(int j = 0; j < Grades[i].length; ++j){ //for each column IN THE CURRENT ROW
        switch(Grades[i][j]){
        //...
        }
    }
}

注意:您使用的是char,例如'4',而不是数值4,它们是不同的,实际上是52,请参见ASCII TABLE

注意 2:你的学生收到所有 'C' 笔记会很生气。完成后你应该break;每个案例,如果没有,将执行下一个案例。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-11
    • 1970-01-01
    • 2019-05-26
    • 2011-10-16
    • 2012-12-30
    • 2020-03-24
    • 1970-01-01
    相关资源
    最近更新 更多