如何在 java 中访问并行数组的完整内容



>我正在尝试通过让用户输入标识号来访问并行数组的全部内容。该数组似乎只返回前四项的结果 [0-3]。其余部分将返回为未找到。使用 Eclipse,我尝试将数组完全尺寸调整为 10 个内存位置,但是,我遇到了错误。

import java.util.*;
import javax.swing.JOptionPane;
public class StudentIDArray {
    static String[] studentNum = new String[]
            {"1234", "2345", "3456", "4567", "5678", "6789", "7890", "8901", "9012", "0123"};
    static String[] studentName = new String[]
            {"Peter", "Brian", "Stewie", "Lois", "Chris", "Meg", "Glen", "Joe", "Cleveland", "Morty"};
    static double[] studentGpa = new double[]
            {2.0, 3.25, 4.0, 3.6, 2.26, 3.20, 3.45, 3.8, 3.0, 3.33};
    public static void main(String[] args) {
        String studentId = null;
        while ((studentId = JOptionPane.showInputDialog(null, "Please enter your Student ID number to view your name and GPA")) != null) {
            boolean correct = false;
            for (int x = 0; x < studentId.length(); ++x) {
                if (studentId.equals(studentNum[x])) {
                    JOptionPane.showMessageDialog(null, "Your name is: " + studentName[x] + "n" + "Your GPA: " + studentGpa[x], "GPA Results", JOptionPane.INFORMATION_MESSAGE);
                    correct = true;
                    break;
                }
            }
            if (!correct) {
                JOptionPane.showMessageDialog(null, "Student ID not found, try again.", "Not found", JOptionPane.INFORMATION_MESSAGE);
            }
        }
    }
}

在 for 循环更改中:

studentId.length();

studentNum.length;

您现在使用输入字符串的长度,而您需要数组的长度。

你不应该在 for 循环中迭代 "studenNum" 数组吗?您有一个拼写错误/错误,您正在迭代错误的变量。

请查看您的for循环:

for (int x = 0; x < studentId.length(); ++x)

您不是使用 studentNum 数组的长度,而是使用用户输入studentId的长度,该长度很可能为 4 个字符(由于您在 studentNum 中给定了学生 ID)。这就是为什么你的程序只在索引 0 - 3 上找到条目(数组似乎只返回前四项的结果 [0-3])。

将其更改为

for (int x = 0; x < studentNum.length; ++x)

来修复它。

相关内容

  • 没有找到相关文章

最新更新