Java如何修改代码实现仅打印用户输入的两个整数之间的数字?
修改方案
你只需要调整两处for循环的起始值和终止判断条件,就能实现只输出两个数之间的内容、不含首尾输入值的需求。
具体修改点
原代码的for循环是从较小值开始,到较大值结束(包含首尾),修改规则如下:
- 当number1 > number2时,把原循环
for(int a = number2; a <= number1; a++)修改为for(int a = number2 + 1; a < number1; a++) - 当number1 < number2时,把原循环
for(int a = number1; a <= number2; a++)修改为for(int a = number1 + 1; a < number2; a++)
修改后的完整代码
import java.util.Scanner; public class PrintRange { public static void main(String[] args) { int number1; int number2; // 可选优化:Scanner只需要创建一次,不需要每次循环重复新建 Scanner input = new Scanner(System.in); do{ 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 + 1; a < number1; a++) { System.out.print(a + " "); } } else { for(int a = number1 + 1; a < number2; a++) { System.out.print(a + " "); } } input.close(); } }
效果说明
如果输入的两个数差值为1(比如输入2和3),那么两个数之间没有整数,程序不会输出任何内容,符合需求。
内容的提问来源于stack exchange,提问作者Daniels5150
相关产品推荐
相关产品推荐

