Java 通过比较两个参数打印连续数字

Java 通过比较两个参数打印连续数字,java,for-loop,Java,For Loop,输入3,5输出应3,4,5 输入5,3输出应为5,4,3 代码呢 public static void test(int a, int b) { if(a>b) { for (int i = a; i >= b; i--) { System.out.print(i + "\t"); } }else if(a<b) { for (int i =

输入
3,5
输出应
3,4,5

输入
5,3
输出应为
5,4,3

代码呢

public static void test(int a, int b) {
        if(a>b) {
            for (int i = a; i >= b; i--) {
                System.out.print(i + "\t");
            }
        }else if(a<b) {
            for (int i = a; i <= b; i++) {
                System.out.print(i + "\t");
            }
        }
    }
公共静态无效测试(int a、int b){
如果(a>b){
对于(int i=a;i>=b;i--){
系统输出打印(i+“\t”);
}

}如果(a这个版本怎么样

public static void test(int a, int b) {
    int d = b > a ? 1 : -1; 
    for (int i = a; i != b; i+=d) {
        System.out.print(i + "\t");
    }
    System.out.println(b);
}

正确处理边界值的一个解决方案可能是

public static void test(int start, int end) {
    int current = start;
    int stepWidth = current <= end ? +1 : -1;
    while (current != (end + stepWidth)) {
        System.out.print(current + "\t");
        current += stepWidth;
    }
    System.out.println("");
}
输出

3   4   5   
5   4   3   
2147483644  2147483645  2147483646  2147483647  
-2147483648 -2147483647 -2147483646 -2147483645

这是我的解决方案,欢迎反馈

public static void test(int a, int b) {
            int middle = (a < b) ? (b - 1) : (a - 1);
            System.out.println(a + "," + middle + ","+b);
        }
公共静态无效测试(int a、int b){
中间整数=(a

只有当a!=b.

似乎比StackOverflow@Deckard-如果输出的格式不正确,您可以删除else部分并在
中添加
return
;您指定的是逗号,但输出的是制表符。我从未打算只用于
3,4,5
5,4,3
3,4,….n
n,n-1,….3
不起作用
测试(3,5)
打印
3,4
缺少5最简单和聪明的,我认为。
3   4   5   
5   4   3   
2147483644  2147483645  2147483646  2147483647  
-2147483648 -2147483647 -2147483646 -2147483645
public static void test(int a, int b) {
            int middle = (a < b) ? (b - 1) : (a - 1);
            System.out.println(a + "," + middle + ","+b);
        }