java - 从并行数组中搜索和显示信息

标签 java arrays

这是另一个新手,需要帮助解决编码困境。我尝试创建的程序是一个小型数据库,必须使用三个并行数组(userNumber、player 和 highScore)。目的是用户应在提示时输入用户号码,程序将显示该人的信息。如果输入的号码不存在,则程序应向他们显示输入的号码,并让他们重新输入用户号码,直到输入正确的号码。
我现在遇到的问题是,除了数组中的第一个用户编号之外,程序不接受任何用户编号,无论它是否是数组列表中的有效编号。此外,错误消息仅显示第一个“错误”数字,无论输入“错误”数字多少次。
简而言之,我认为正确的问题是:
1.) 为了让程序返回与输入的 userNumber 相对应的数组条目的信息,我到底应该更改什么?
2.) 我该如何更改才能使每条错误消息显示刚刚输入的“不正确”数字?
这是我的代码:

import java.util.Scanner;


public class HighScoreSearch
{
    public static void main(String[] args)
    {
        Scanner input = new Scanner(System.in);

        int[] userNumber = new int[5];
        String[] player = new String[5];
        Double[] highScore = new Double[5];

        userNumber[0]= 1;
        userNumber[1]= 2;
        userNumber[2]= 3;
        userNumber[3]= 4;
        userNumber[4]= 5;
        player[0]= "Morpheus";
        player[1]= "Neo";
        player[2]= "Cereal Killer";
        player[3]= "Crash Override";
        player[4]= "Acid Burn";
        highScore[0]= 853797.67;
        highScore[1]= 999999.99;
        highScore[2]= 15097.34;
        highScore[3]= 864513.16;
        highScore[4]= 543188.68;

        System.out.print("Enter User# ");
        int scan= input.nextInt();
        int i=0;

        while (scan!=userNumber[i])
        {
            System.out.printf("Error #%s Is Unknown User", scan);
            System.out.print("Enter User# ");
            scan=input.nextInt();
        }
        System.out.printf("%s, user# %s, has a high score of: %s", player[i], userNumber[i], highScore[i]);

    }
}

最佳答案

您没有使用输入的值 - 请考虑

        while (scan < userNumber[0] || scan > userNumber[4])
        {
            System.out.printf("Error #%s Is Unknown User", scan);
            System.out.print("Enter User# ");
            scan=input.nextInt();
        }
        // now use the value
        System.out.printf("%s, user# %s, has a high score of: %s",
                    player[scan-1], userNumber[scan-1], highScore[scan-1]);

当然,您确实应该循环userNumber数组来检查该号码是否存在。实际上,这样的解决方案需要您创建保存此信息的单个对象,然后拥有这些对象的 Listarray

关于java - 从并行数组中搜索和显示信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43928266/

相关文章:

java - Spring 3.1, hibernate 4,SessionFactory

java - Hibernate Criteria SubQuery 大小写不敏感问题

javascript - 返回与 JSON 数组中的计数相同的值,Javascript

java - 在java中添加和检索对象数组中的元素

python - 如何在 python 中对数组中的选定元素求和? (多输入)

python - 从 numpy memmap 切片创建 ndarray

java - 类型参数是否与参数一起传递给方法?

java - Neo4j:死锁内存泄漏

java - 从 JFIF 读取图像数据?

javascript - 数组合并和Json编码