我被要求只用永无止境的循环打印2的倍数。
尝试:
import java.util.Scanner;
public class Infiniteloop {
public static void main (String [] args)
{
Scanner input=new Scanner (System.in);
int number,x;
System.out.print("Enter a number");
number=input.nextInt();
if(number%2==0)
{
while(number>=0)
{
x= (++number);
System.out.println(x);
}
}
}
}
我只能使用while循环。所以我试着设置2的余数等于零。我尝试使用计数器,但它不会增加它。保持打印出零。我需要一些帮助。感谢。
答案 0 :(得分:5)
假设您要提示用户输入起始编号,然后打印以下所有偶数:
number = input.nextInt(); //read the input
number += number % 2; //if input is odd, add 1
while (true)
{
System.out.println (number);
number += 2;
}
假设您要检查偶数:
while (true)
{
number = input.nextInt();
if (number % 2 == 0) System.out.println (number);
}
或者,如果你不关心空行:
while (true) System.out.println (input.nextInt () % 2 == 0 ? "even" : "");
编辑:对于两个人来说同样的事情:
public static void main (String [] args)
{
Scanner input = new Scanner (System.in);
int number;
while (true)
{
System.out.print ("Enter a number");
number = input.nextInt ();
while ( (number & 1) == 0) number >>= 1;
if (number == 1) System.out.println ("Perfect divisor.");
}
答案 1 :(得分:0)
无限循环不需要计数器。它可以这样写:
if((number % 2) != 0) {
number++;
}
while(true) {
System.out.println(number);
number = number + 2;
}
编辑:无限制地找到2的倍数
答案 2 :(得分:0)
我很惊讶这个编译。
x= (++number)
最后没有分号。
同样,在while内移动if语句。如果要检查2的倍数,则需要在循环的每次迭代后进行检查
编辑:您更改了原始代码。请从您的来源复制/粘贴,而不是重新输入。
答案 3 :(得分:0)
问题不是很明确,但可能会对此有所帮助:
Scanner input=new Scanner (System.in);
int number;
do {
System.out.print("Enter a number: ");
number=input.nextInt();
if(number%2==0)
System.out.println(number);
} while (number > 0);
答案 4 :(得分:0)
我猜这是一个家庭作业问题,所以解释这种方法可能会对你有所帮助。
首先,您可以使用while
循环来确保您的代码多次执行:
while循环将继续执行中的代码,而给定的布尔条件的计算结果为true 。因此,您可以使用以下代码完成代码。
while(true) {
//...
}
括号之间的任何内容将永远执行(逐行)。
如果你在循环开始时从用户那里得到一个数字,那么循环将停止执行任何进一步的代码,直到用户输入某些内容(它将被阻止,等待IO)。
获得数字后,循环将开始执行其余代码,然后返回循环顶部并重复该过程。
while (true) {
//ask user for number
//print out the number
// check that it is even
// print whether it is even or odd
}
答案 5 :(得分:-1)
class Fordemo
{
public static void main(String args[])
{
int k,x=0;
for(k=1;k<=10;k++)
{
x=k*2;
System.out.println("multiple of 2 is "+x);
}}}