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);
}