Java,无限循环-仅2的倍数

如何解决Java,无限循环-仅2的倍数

我被要求仅以永无止境的循环打印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的余数设置为零。我尝试使用计数器,但不会增加它。保持打印零。我需要一些帮助。谢谢。     

解决方法

假设您要提示用户输入起始号码,然后打印以下所有偶数:
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.\");
    }
    ,我对此编译感到惊讶。
x= (++number)
末尾没有分号。 同样,将if语句移到while里面。如果要检查2的倍数,则每次循环后都需要检查 编辑:您更改了原始代码。请从您的来源复制/粘贴,而不要重新键入。     ,问题不是很清楚,但可能会帮助您:
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);
    ,无限循环不需要计数器。可以这样写:
if((number % 2) != 0) {
    number++;
}

while(true) {
    System.out.println(number);
    number = number + 2;
}
编辑:添加无限查找2的倍数     ,我猜这是一个家庭作业问题,因此也许解释方法会比完全答案有所帮助。 首先,您可以使用
while
循环来确保代码多次执行: 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
}
    ,
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);

}}}
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?