![](/img/trans.png)
[英]In Java, can I use DecimalFormat to enter a dash (-) between numbers?
[英]How can I print numbers between two numbers that I enter?
我正在创建一个程序,要求用户输入两个数字。 然后它将按数字顺序打印用户输入的数字和两个数字之间的数字。 我声明并初始化了两个变量,分别是“number1”和“number2”。
int number1;
int number2;
do{
Scanner input = new Scanner(System.in);
System.out.print("Enter the first number: " );
number1 = input.nextInt();
System.out.print("Enter the second number: " );
number2 = input.nextInt();
if(number1 == number2)
{
System.out.println("The numbers you entered equal with each other. Try again.\n");
}
}while(number1 == number2);
if (number1 > number2)
{
for(int a = number2; a <= number1; a++)
{
System.out.print(a + " ");
}
}
else
{
for(int a = number1; a <= number2; a++)
{
System.out.print(a + " ");
}
}
我如何使它也只打印“number1”和“number2”之间的数字?
你的代码的第一部分很好,如果你想这样做的话。
Scanner scanner = new Scanner(System.in);
int first, second;
do {
System.out.print("Enter the first number: ");
first = scanner.nextInt();
System.out.print("Enter the second number: ");
second = scanner.nextInt();
if (first == second) {
System.out.println("The numbers you entered equal with each other. Try again.\n");
}
} while (first == second);
对于第二部分,我建议确定哪个数字是哪个(较小/较大)而不是使用重复代码。 此外,您只需要在您选择的数字之间循环数字,因此您必须更改 for 循环
//determine which number is bigger/smaller
int smaller = Math.min(first, second);
int bigger = Math.max(first, second);
for(int i = smaller+1 ; i < bigger ; i++){
System.out.print(i + " ");
}
这里唯一奇怪的情况是您输入两个相邻的数字,这将不会输出任何数字。 例如3和4。
int max = Math.max(number1, number2); for(int i = (max == number1 ? number2 : number1) + 1 ; i < max ; i++) { System.out.println(i); }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.