如何在Java中列出两个数字之间的数字

时间:2016-12-24 02:31:20

标签: java netbeans

我正在尝试创建一个列出两个变量之间所有整数的java程序。一个是最低(包括),另一个是最大(也包括在内)。 到目前为止,这是我的计划:

    int highNum, lowNum;

    //converts and sets user inputs of low and high values to double
    lowNum = Integer.parseInt(minInput.getText());
    highNum = Integer.parseInt(maxInput.getText());
    String output = null;


     for (int i = lowNum + 1; i < highNum; i++)
    output = Integer.toString(i);   

    //outputs sting containing the list of numbers
    outputLabel.setText(output);

在我从System.out转换它之前它有效但当我尝试将其转换为具有netbeans的UI时,我再也无法让它列出数字。 在我开始工作之前:

    int min, max;
    min = 1;
    max = 10;
    for (int i = min + 1; i < max; i++)
        System.out.println(i);

2 个答案:

答案 0 :(得分:1)

在Java 8中,您可以使用IntStream

以这种方式执行此操作
    int lowNum = Integer.parseInt(minInput.getText());
    int highNum = Integer.parseInt(maxInput.getText());

    StringBuilder sb = new StringBuilder();

    IntStream.rangeClosed(lowNum, highNum).forEach(no -> {
        sb.append(no);
    });

    outputLabel.setText(sb.toString());

答案 1 :(得分:0)

将每个值连接到String,就像只得到最后一个值一样。

int lowNum = Integer.parseInt(minInput.getText());
int highNum = Integer.parseInt(maxInput.getText());
StringBuilder sb = new StringBuilder(String.valueOf(lowNum));
for (int i = lowNum + 1; i <= highNum; i++) {
    sb.append(", ").append(i);
}
outputLabel.setText(sb.toString());