我刚开始使用while循环,现在我正在努力使用代码。我必须要求用户输入while循环的起始值和结束值。结果应显示起始值和结束值之间的所有4的倍数。这是作业,因此必须包含while循环。
例如,用户输入1作为起始值,4输入结束值。代码应显示4 *起始值和结束值之间的值。我不知道如何使数字乘以4乘以。
{{1}}
答案 0 :(得分:3)
我会给你两个提示:
4的第一个倍数大于或等于start
?您的程序适用于start
已经是4的倍数(例如32)而不是4的倍数的情况(例如29)。
你如何从4(例如32)到下一个(36)的特定倍数获得?
如果相反,您需要
显示4 *起始值和结束值之间的值
最简单的解决方案是:
while (start <= end)
{
System.out.print((start * 4) + " ");
start = start + 1;
}
答案 1 :(得分:0)
要做到这一点,你需要%
,它在分裂后返回休息。
这就是你可以做到的,有一个简单的循环解决方案,然后是while循环。
public static void main(String[] args) {
int start = Integer.parseInt(JOptionPane.showInputDialog("Enter a starting number (integer)"));
int end = Integer.parseInt(JOptionPane.showInputDialog("Enter an ending number (integer)"));
for (int i = start; i < end; i++) {
if (i % 4 == 0){
System.out.print(i + " ");
}
}
System.out.println("");
int i = start + (4 - (start % 4));
while (i < end){
System.out.print(i + " ");
i += 4;
}
}
值2和63的输出:
4 8 12 16 20 24 28 32 36 40 44 48 52 56 60
4 8 12 16 20 24 28 32 36 40 44 48 52 56 60
答案 2 :(得分:0)
我建议使用mod运算符 - &gt; % 那会给你余数,如果它是0 - 你得到4的倍数。
示例:
if(start%4 == 0){
System.out.print (start);
}
start++;
答案 3 :(得分:0)
由于您将start
值更新为其4xtimes值,因此在while循环的下一次迭代中,将检查此新值,这是不正确的。不要更新while条件中使用的相同变量。使用另一个变量乘以4然后用它来显示。
修改强>
您需要使用增量运算符++
来增加start
值以达到end
。
另外,你的while循环应该是这样的:
int temp=0;
while (start < end)
{
temp = start * 4;
System.out.print (temp + " ");
start++;
}
更好的是:
while (start < end)
{
System.out.print ((start * 4) + " ");
start++;
}
@kittykittybangbang:感谢您推荐编辑。
答案 4 :(得分:0)
import javax.swing.JOptionPane; public class WhileEx { public static void main(String[] args){ int start = Integer.parseInt(JOptionPane.showInputDialog("Enter a starting number (integer)")); int end = Integer.parseInt(JOptionPane.showInputDialog("Enter an ending number (integer)")); if(start==0 || start%4>0) { start = start +(4-start%4); } while (start <= end) { System.out.print (start + " "); start = start + 4; } } }