间隔 Java,用户选择最小值和最大值
Interval in Java with user choosing min and max value
我已经为这个问题坐了 3 个小时了,我开始感到非常沮丧。我有几项学校作业,我应该解决并提交给 teacher/students。我已经解决了所有问题,除了这个我无法以任何方式解决的问题。
所以,这道题的说明如下:
The method should ask for an interval where the user gets to choose a minimum and maximum number. The method will write a series of numbers that start with the minimum value and then every 7th number. It should never write a number that is greater than the maximum value.
To clarify (example):
Min = 26
Max = 57
程序写道:26, 33, 40, 47, 54
这是我的代码:
String minimum, maximum;
int mini, maxi;
minimum = JOptionPane.showInputDialog("Insert smallest number");
mini = Integer.parseInt(minimum);
maximum = JOptionPane.showInputDialog("Insert biggest number");
maxi = Integer.parseInt(maximum);
for(int i = mini ; i <= maxi ; i++ ) {
if(i<maxi) {
System.out.print( mini + ", ");
} else {
System.out.print( mini );
}
mini +=7;
我知道 i <= maxi ;
的作用,但我不知道用什么来代替它。我试图想出一个公式来让它发挥作用,但每次都失败了...我只学习了 Java 大约一个星期,所以请放轻松。我希望那里有一个善良的灵魂可以为我澄清这一点。当我有更多的知识时,我会 return 对社区的帮助。干杯。
一个简单的方法是将 mini
更改为 i
除了 i
的分配,然后将 i++
更改为 i +=7
for(int i = mini ; i <= maxi; i+=7) {
if(i<maxi) {
System.out.print(i + ", ");
} else {
System.out.print(i);
}
}
输出:
26, 33, 40, 47, 54
您可以使用此解决方案:
for(; mini <= maxi ; mini+=7 ) {
if(mini <maxi) {
System.out.print( mini + ", ");
} else {
System.out.print( mini );
}
}
真的没有必要再次检查 i 是否小于 maxi,
我想这是为了逗号,但可以简化如下。
for(int i = mini ; i <= maxi; i+=7) {System.out.println(i); }
你不需要更改 mini 值,让它保持原样,并在 for 循环中使用 i 而不是 mini ,就这些就可以了,你还想打印最后一个逗号吗?
for(int i = mini ; i <= maxi;i=i+7) {
if(i<maxi) {
System.out.print( i + ", ");
}
}
我已经为这个问题坐了 3 个小时了,我开始感到非常沮丧。我有几项学校作业,我应该解决并提交给 teacher/students。我已经解决了所有问题,除了这个我无法以任何方式解决的问题。
所以,这道题的说明如下:
The method should ask for an interval where the user gets to choose a minimum and maximum number. The method will write a series of numbers that start with the minimum value and then every 7th number. It should never write a number that is greater than the maximum value. To clarify (example):
Min = 26
Max = 57
程序写道:26, 33, 40, 47, 54
这是我的代码:
String minimum, maximum;
int mini, maxi;
minimum = JOptionPane.showInputDialog("Insert smallest number");
mini = Integer.parseInt(minimum);
maximum = JOptionPane.showInputDialog("Insert biggest number");
maxi = Integer.parseInt(maximum);
for(int i = mini ; i <= maxi ; i++ ) {
if(i<maxi) {
System.out.print( mini + ", ");
} else {
System.out.print( mini );
}
mini +=7;
我知道 i <= maxi ;
的作用,但我不知道用什么来代替它。我试图想出一个公式来让它发挥作用,但每次都失败了...我只学习了 Java 大约一个星期,所以请放轻松。我希望那里有一个善良的灵魂可以为我澄清这一点。当我有更多的知识时,我会 return 对社区的帮助。干杯。
一个简单的方法是将 mini
更改为 i
除了 i
的分配,然后将 i++
更改为 i +=7
for(int i = mini ; i <= maxi; i+=7) {
if(i<maxi) {
System.out.print(i + ", ");
} else {
System.out.print(i);
}
}
输出:
26, 33, 40, 47, 54
您可以使用此解决方案:
for(; mini <= maxi ; mini+=7 ) {
if(mini <maxi) {
System.out.print( mini + ", ");
} else {
System.out.print( mini );
}
}
真的没有必要再次检查 i 是否小于 maxi, 我想这是为了逗号,但可以简化如下。
for(int i = mini ; i <= maxi; i+=7) {System.out.println(i); }
你不需要更改 mini 值,让它保持原样,并在 for 循环中使用 i 而不是 mini ,就这些就可以了,你还想打印最后一个逗号吗?
for(int i = mini ; i <= maxi;i=i+7) {
if(i<maxi) {
System.out.print( i + ", ");
}
}