Java 我从以下代码中获得意外输出:
这是我应该得到的输出:Java 我从以下代码中获得意外输出:,java,netbeans,Java,Netbeans,这是我应该得到的输出: 123 4 5 6 7 8 9 10 11 12 ... 97 98 99 但当我把我的意见作为 499 我得到的结果是: 01123 4 5 6 7 .... 96 97 98 99 我不应该从0开始 我的代码有什么问题?你开始j=1(因为你第一次进入循环时i=1) 如果x%2==0(这种情况下),则打印j-1 当然你会从0开始,我不明白你为什么会感到惊讶。 如果要避免这种情况,只需打印: (j-1)==0?“:j-1+”我试图稍微重写一下您的代码,这样它就不会
123
4 5 6
7 8 9
10 11 12
...
97 98 99
但当我把我的意见作为
499
我得到的结果是:
01123
4 5 6 7
....
96 97 98 99
我不应该从0开始
我的代码有什么问题?你开始
j=1
(因为你第一次进入循环时i=1)
如果x%2==0
(这种情况下),则打印j-1
当然你会从0开始,我不明白你为什么会感到惊讶。
如果要避免这种情况,只需打印:
(j-1)==0?“:j-1+”
我试图稍微重写一下您的代码,这样它就不会那么凌乱了。这就是你想要实现的吗
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
int i = 0;
int x;
x=input.nextInt();
int y;
y=input.nextInt();
while(i<y){
for ( i = 1; i <=y; i=i+x) {
for ( int j = i; j <=(i+(x-1)); j++) {
if(x%2==0 && y%3==0)
{
System.out.print((j-1)+" ");
}
else
System.out.print(j+" ");
}
System.out.println();
}
}
publicstaticvoidmain(字符串[]args){
扫描仪输入=新扫描仪(System.in);
int x=input.nextInt();
int y=input.nextInt();
对于(int i=1;i
扫描仪输入=新扫描仪(System.in);
int i=1;
int j=0;
int x;
x=input.nextInt();
int-y;
y=输入。nextInt();
对于(i=1;i您的第一个输出将是一个4,因为此时x=3和y=99。两者都不是,您的else块将被命中。将if(x%2==0&&y%3==0)
更改为if(x%2==0 | y%3==0)
第一次输出将得到0。这不会完全解决您的问题,但会让您走上正确的道路。提示:问题出在System.out.print((j-1)+”);
j
从1
开始打印j-1
。您尝试过调试它吗?您不需要那里的while循环。如果我删除(j-1)我在输出的末尾得到了一个额外的数字,即:100,我不想要…我想要它停在99,我以j=I而不是j=1开始这不是答案,如果我改为I=0,我从-1@DimitriBosteels我试过(j-1)=0?”:j-1+“”但是对于输入:4 99,它在第一行只给我3个数字,然后从下一行开始给我4个数字。好吧,99/4不是整数,所以你不能让所有的行都有4个数字。第一行是3,或者最后一行。我告诉过你为什么得到0,我告诉过你如何避免它,但是如果你想从1开始,得到最后一行有了3个数字,您将不得不返工您的循环
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int x=input.nextInt();
int y=input.nextInt();
for (int i = 1; i < y + 1; i++) {
System.out.print(i + " ");
if (i % x == 0){
System.out.println();
}
}
input.close();
}
Scanner input=new Scanner(System.in);
int i = 1;
int j = 0;
int x;
x=input.nextInt();
int y;
y=input.nextInt();
for( i = 1; i <=y; i++) {
System.out.print(i);
System.out.print(" ");
j++;
if(j == x){
System.out.println();
j = 0;
}
}