簡體   English   中英

如何比較數組中的用戶輸入?

[英]How to compare user input in array?

嗨,大家好,我是Java的新手,這是我課堂上的練習之一。 我應該問用戶輸入5個數字,然后比較它們是否與之前輸入的數字相同。 到目前為止,這些是我的代碼,但是無法正常工作。 謝謝。

import java.util.Scanner;

public class Source {
    private static int num = 0;
    private static int[] enterednum = new int[5];

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

        for(int count = 0; count < enterednum.length; count++) {
            System.out.println("Enter a number.");
            num = input.nextInt();

            compare(enterednum);
        }

        System.out.println("These are the number you have entered: ");
        System.out.println(enterednum);
    }

    public static void compare(int[] enterednum) {
        for(int count = 0; count < 6; count++)
            if(num == enterednum[count])
                System.out.println("The number has been entered before.");
    }
}

您可能想要這樣的東西:

import java.util.Scanner;
public class Source 
{
    private static int enterednum[]=new int[5];
    public static void main(String args[])
    {
        int num=0; // make this local variable since this need not be class property
        Scanner input = new Scanner(System.in);


        for(int count=0;count<enterednum.length;count++)
        {
            System.out.println("Enter a number.");
            num = input.nextInt();
            compare(num, count);
            enterednum[count] = num; // store the input


        }

        System.out.println("These are the number you have entered: ");
        // print numbers in array instead the array
        for(int count=0;count<enterednum.length;count++)
        {
            System.out.println(enterednum[count]);
        }
    }
    // change the method signature to let it get the number of input
    public static void compare(int num, int inputcount)
    {
        for(int count=0;count<inputcount;count++)
        {
            if(num==enterednum[count])
                System.out.println("The number has been entered before.");
        }
    }
}

您可以根據需要這樣做。

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;

public class Source {    
    public static void main(String[] args) throws IOException {
        // I used buffered reader because I am familiar with it :) 
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));

        // Create a Set to store numbers
        Set<Integer> numbers = new HashSet<>();
        for (int i = 0; i < 5; i++) {
            System.out.print("Enter a number: ");
            String line = in.readLine();
            int intValue = Integer.parseInt(line);

            // You can check you number is in the set or not
            if (numbers.contains(intValue)) {
                System.out.println("You have entered " + intValue + " before");
            } else {
                numbers.add(intValue);
            }
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM