扫描仪输入数组

时间:2015-09-29 08:58:42

标签: java arrays input

我对此非常陌生,我一直坚持解决与数组有关的问题,我需要帮助。 所以我应该编写的程序是用户首先输入一个数字(int)。然后用户可以输入任何数字(int),每次用户输入数字时,它会按排序顺序打印出这些数字的数组。当用户在字符串中输入“end”时,程序结束并显示它所排序数字的数组。 事情是我不知道当我声明扫描程序将采用int时用户如何输入字符串。当我输入一个字符串时,它显示一个错误。 我是初学者所以请不要使用任何复杂的东西,如“异常”和类似的东西。我只学习了循环,然后才开始学习数组。谢谢。

get '/uploads/:basename.:extenstion', to: 'controller#action', basename: /.*(?=\.[\w\d]+$)/

4 个答案:

答案 0 :(得分:3)

然后为什么要将输入读作int?而不是你,我会将数据读取为String并在需要时将其转换为int

String input = scan.nextLine();

现在我可以验证

如果两个条件相遇,我继续阅读输入。否则,如果两个条件不符合,那么它不是数字类型,而不是“结束”字符串,我所做的取决于我的程序的逻辑。最后一种情况是“结束”字符串,我从循环中退出。

答案 1 :(得分:0)

以字符串形式读取输入 检查它的“结束”字符串 否则尝试将字符串解析为整数值

像这样修改你的循环代码

  while ( a.length < 5 ) {
         System.out.print("Type: ");
         String input = scan.nextLine();
         int number;
         if(input.equals("end"))
             break;
         else {
            try {
                number = Integer.parseInt(input);
                 int[] b = Arrays.copyOf(a, a.length + 1);
                 b[b.length-1] = number;
                 a = b;
                 System.out.println(Arrays.toString(a));
            } catch (Exception e) {
                System.out.println("invalid argument");
                break;
            }

答案 2 :(得分:0)

这将为你做到!

import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;


public class Help {

public static void main(String[] args) {

    ArrayList<Integer> userArray = new ArrayList<>();

    System.out.println("Enter some numbers!");

    Scanner scanner = new Scanner(System.in);
    String input = scanner.nextLine();

    while (!input.equalsIgnoreCase("END")) {

        int element = Integer.valueOf(input);
        userArray.add(element);
        for (Integer integer : userArray) {
            System.out.println(integer);
        }
        input = scanner.nextLine();

    }   
        Collections.sort(userArray);
        for (Integer integer : userArray) {
            System.out.println(integer);
        }

    }

}

enter image description here

答案 3 :(得分:0)

此外,您可以让用户开始说明将会有多少个号码。然后,它要求那么多数字。第一个数字,即大小,将定义数组的大小。