作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试创建一个嵌套的 for 循环,它将生成用户指定范围内的所有对,范围从负值到正值。解释起来有点困难,但这是我的代码:
public class test method {
public static void main (String[] args) {
int a = Integer.parseInt(args[0]);
int b = Integer.parseInt(args[1]);
int c = 3;
int d = 4;
for (int i = -a; i <= a; i++)
for (int j = -b; j <= b; j++) {
System.out.println(a+" and "+b+" vs "+c+" and "+d+"\n");
}
}
}
给定命令行参数 1 和 2,我想要的输出将类似于:
-1 和 -2 与 3 和 4
-1 和 -1 与 3 和 4
-1 和 0 与 3 和 4
-1和1 vs 3和4
-1和2 vs 3和4
0 和 -2 与 3 和 4
0 和 -1 与 3 和 4
0 和 0 与 3 和 4
0和1 vs 3和4
0 和 2 与 3 和 4
1 和 -2 与 3 和 4
1 和 -1 与 3 和 4
1 和 0 与 3 和 4
1和1 vs 3和4
1和2 vs 3和4
最佳答案
我认为第一个 for 中缺少括号是复制和粘贴中的问题,但如果这是您的真实代码,那么您就会遇到问题。
a = Math.abs(a);
b = Math.abs(b);
for (int i = -a; i <= a; i++) {
for (int j = -b; j <= b; j++) {
System.out.println(i+" and "+j+" vs "+c+" and "+d+"\n");
}
}
有两件事。首先,您应该打印 i
和 j
,其次您还应该考虑负值。你的 for
将失败,因为 -a
if a = -1
将导致
for (int i = 1; i <= -1; i++)
条件将不满足,迭代也不会发生。通过执行 Math.abs,您可以获得输入的绝对值,并且可以进行从负值到正值的迭代。如果 a
和 b
均为正数,则 abs
方法将返回相同的值(分配 a
和 b
与它们已有的值相同)。
对于c
和d
应该做什么还有待观察。您想要的输出表明您将它们保持原样,所以我现在不会碰它们。
关于java - 循环遍历值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12868279/
我是一名优秀的程序员,十分优秀!