通过java跳过用户输入

时间:2017-02-15 14:25:12

标签: java

所以基本上我已经为学校编写了一个程序来获取10个字符的用户输入并将其存储到数组中,然后使用冒泡排序技术按升序对其进行排序。但每当我执行代码时(在蓝色j环境中),每个语句都会跳过输入,只运行我想要的一半。 这是代码:

jQuery(document).ready(function() {
    $("#check_uncheck").change(function() {
        if ($("#check_uncheck:checked").length) {
            $(".checkboxes input:checkbox").prop("checked", true);
        } else {
            $(".checkboxes input:checkbox").prop("checked", false);
        }
    })
});

2 个答案:

答案 0 :(得分:0)

如果用户总是输入换行符分隔的字符,您只需读取换行符(s?)并丢弃它们:

1:25

如果需要,可以通过检查System.lineSeparator()是什么来使代码可移植。

如评论所述,如果要在同一行(即for(i=0;i<10;i++) { arr[i] = (char)br.read(); //br.read() //discards the CR character, only needed on Windows platforms br.read() //discards the LF character } )输入所有字符,您当前的代码也可以被认为是正确的。

答案 1 :(得分:0)

Updated:根据使用读者是强制性的事实,您的来源可能如下:

import java.io.*;
import java.util.Arrays;
public class p19 {
    public static void main(String... args) throws IOException {
        InputStreamReader isr = new InputStreamReader(System.in);
        BufferedReader br = new  BufferedReader(isr);
        char[] arr = new char[10];
        int i = 0;

        System.out.println("Enter characters");
        while(i < 10) {
            String line = br.readLine();
            for (int x = 0 ; x < line.length() && i < 10 ; x++) {
                char chr = line.charAt(x);
                //accept only viewable symbols:
                if (chr >= 0x30 && chr < 0xA0) {
                    arr[i++] = chr;
                }
            }
        }
        System.out.println("Got array: " + Arrays.toString(arr));

        //there are exists simplier sample of bubble sort:
        for(i = 0 ; i < arr.length ; i++) {
            for(int j = 0 ; j < arr.length - 1 - i ; j++) {
                if(arr[j] > arr[j + 1]) {
                    char big = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = big;
                }
            }
        }
        System.out.println("Sorted array: " + Arrays.toString(arr));

        for(i = 0 ; i < 10 ; i++) {
            System.out.println(arr[i]);
        }
    }
}

PS我为Arrays.toString的数组添加了更详细的输出 - 如果你不应该使用这样的类,你可以省略。