显示流程已完成,但没有输出

时间:2014-03-22 00:54:09

标签: java jcreator

我正在尝试创建一个接受两个数字的程序,并输出一个大于另一个数字的最小数字(例如,给定4687和5,程序应该输出6)。

我遇到的问题是,当我编译程序时,即使我没有错误,输入两个数字后,也没有显示输出。光标只是继续闪烁。这是代码:

    import java.io.*;
    import java.util.*;
    public class Numbers {
      public static void main(String[] args) throws IOException {
    Scanner in = new Scanner(System.in);
    int smallest = 10;
    int num;
    System.out.printf("Enter a value for n: \n");
    int n = in.nextInt();
    System.out.printf("Enter a value for num: \n");
    num = in.nextInt();
    int ch = System.in.read();
    while (ch>n && ch<smallest) {
            smallest=ch;
            ch = System.in.read();
    }
    System.out.printf("Smallest number that is larger is %d", smallest);
}
}

1 个答案:

答案 0 :(得分:1)

我运行你的程序很好。您遇到的可能只是程序正在等待您不希望进入的输入。

  • 期待来自用户的三个输入,是你如何运行它?
  • 输入数字后,您还记得在键盘上按下输入按钮吗?

以下是程序的示例输出:

Enter a value for n: 
100
Enter a value for num: 
2
0 // <-- This value corresponds to your program prompting for int ch = System.in.read(); 
Smallest number that is larger is 10D

提示:您可能希望将为n输入的值转换为String,然后在toCharrArray()上使用String方法,以便遍历每个字符,就像你在while循环中所做的那样。

尝试类似:

for(char ch : Integer.toString(n).toCharArray()) { 
// rest of your while loop logic

}