Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用while循环的方法_Java - Fatal编程技术网

Java 如何使用while循环的方法

Java 如何使用while循环的方法,java,Java,当我输入奇数(如3)时,我希望得到输出,它将给出输出“3”,如果我输入偶数,它将打印“错误输入”。 我知道我可以使用if-else,但我想使用while循环来获得它。 我是一名编程初学者,如果有人能帮助我,我将不胜感激。谢谢 这是我现在的密码。当我运行它时,出现了一个错误 import java.util.Scanner; public class UserInput { public static void main(String[] args) { int num; n

当我输入奇数(如3)时,我希望得到输出,它将给出输出“3”,如果我输入偶数,它将打印“错误输入”。 我知道我可以使用if-else,但我想使用while循环来获得它。 我是一名编程初学者,如果有人能帮助我,我将不胜感激。谢谢

这是我现在的密码。当我运行它时,出现了一个错误

import java.util.Scanner;

public class UserInput {

public static void main(String[] args) {

    int num;
    num = readOddNum();
    System.out.println("The odd integer is" + num);

}
public static int readOddNum() {
    int num = 0;

    Scanner sc = new Scanner(System.in);
    System.out.print("Enter an odd number: ");
    int num1 = sc.nextInt();
    sc.close();

    while ((num < 0) &&(num % 2 == 0)) {
        System.out.println("Wrong input!");

   }
    return readOddNum();
}
}
import java.util.Scanner;
公共类用户输入{
公共静态void main(字符串[]args){
int-num;
num=readOddNum();
System.out.println(“奇数整数为”+num);
}
公共静态int readOddNum(){
int num=0;
扫描仪sc=新的扫描仪(System.in);
System.out.print(“输入奇数:”);
int num1=sc.nextInt();
sc.close();
而((num<0)和&(num%2==0)){
System.out.println(“输入错误!”);
}
返回readOddNum();
}
}

您应该将代码更改为

public static int readOddNum() {

  Scanner sc = new Scanner(System.in);
  System.out.print("Enter an odd number: ");
  int num1 = sc.nextInt();

  while ((num1 < 0) || (num1 % 2 == 0)) {
    System.out.println("Wrong input! - try again");
    num1 = sc.nextInt();

  }
  sc.close();
  return num1;


}
public static int readOddNum(){
扫描仪sc=新的扫描仪(System.in);
System.out.print(“输入奇数:”);
int num1=sc.nextInt();
而((num1<0)| |(num1%2==0)){
System.out.println(“输入错误!-重试”);
num1=sc.nextInt();
}
sc.close();
返回num1;
}

您应该将代码更改为

public static int readOddNum() {

  Scanner sc = new Scanner(System.in);
  System.out.print("Enter an odd number: ");
  int num1 = sc.nextInt();

  while ((num1 < 0) || (num1 % 2 == 0)) {
    System.out.println("Wrong input! - try again");
    num1 = sc.nextInt();

  }
  sc.close();
  return num1;


}
public static int readOddNum(){
扫描仪sc=新的扫描仪(System.in);
System.out.print(“输入奇数:”);
int num1=sc.nextInt();
而((num1<0)| |(num1%2==0)){
System.out.println(“输入错误!-重试”);
num1=sc.nextInt();
}
sc.close();
返回num1;
}

将readOddNum逻辑更改为此

public static int readOddNum() {
    int num;

    Scanner sc = new Scanner(System.in);
    num = readNumber(sc);

    while ((num < 0) || (num % 2 == 0)) {
        System.out.println("Wrong input!");
        num = readNumber(sc);
    }

    sc.close();

    return num;
}

public static int readNumber(Scanner sc){
    System.out.print("Enter an odd number: ");
    return sc.nextInt();
}
public static int readOddNum(){
int-num;
扫描仪sc=新的扫描仪(System.in);
num=读取编号(sc);
而((num<0)| |(num%2==0)){
System.out.println(“输入错误!”);
num=读取编号(sc);
}
sc.close();
返回num;
}
公共静态int readNumber(扫描仪sc){
System.out.print(“输入奇数:”);
返回sc.nextInt();
}

将readOddNum逻辑更改为此

public static int readOddNum() {
    int num;

    Scanner sc = new Scanner(System.in);
    num = readNumber(sc);

    while ((num < 0) || (num % 2 == 0)) {
        System.out.println("Wrong input!");
        num = readNumber(sc);
    }

    sc.close();

    return num;
}

public static int readNumber(Scanner sc){
    System.out.print("Enter an odd number: ");
    return sc.nextInt();
}
public static int readOddNum(){
int-num;
扫描仪sc=新的扫描仪(System.in);
num=读取编号(sc);
而((num<0)| |(num%2==0)){
System.out.println(“输入错误!”);
num=读取编号(sc);
}
sc.close();
返回num;
}
公共静态int readNumber(扫描仪sc){
System.out.print(“输入奇数:”);
返回sc.nextInt();
}

可以按以下方式重写代码

import java.util.Scanner;

public class UserInput
{

public static void main(String[] args)
{

    //int num;
    readOddNum();
    //System.out.println("The odd integer is" + num);

}
public static void readOddNum()
{
    int num = 0;

    Scanner sc = new Scanner(System.in);
    System.out.print("Enter an odd number: ");
    int num1 = sc.nextInt();
    sc.close();

    while ((num1 < 0) ||(num1 % 2 == 0))
    {
        System.out.println("Wrong input!");
    break;

   }
System.out.println("The odd integer is" + num1);

   // return readOddNum();
}
}

希望你理解这个概念。如果你喜欢,我会很感激的。谢谢。

代码可以用以下方式重写

import java.util.Scanner;

public class UserInput
{

public static void main(String[] args)
{

    //int num;
    readOddNum();
    //System.out.println("The odd integer is" + num);

}
public static void readOddNum()
{
    int num = 0;

    Scanner sc = new Scanner(System.in);
    System.out.print("Enter an odd number: ");
    int num1 = sc.nextInt();
    sc.close();

    while ((num1 < 0) ||(num1 % 2 == 0))
    {
        System.out.println("Wrong input!");
    break;

   }
System.out.println("The odd integer is" + num1);

   // return readOddNum();
}
}

希望你理解这个概念。如果你喜欢,我会很感激的。谢谢。

您想从while loop中获得什么?问题很不清楚。人们已经尽力回答你的问题,请投票并/或接受正确答案。你想从while loop中得到什么?问题很不清楚。人们已经尽力回答你的问题,请投票并/或接受正确答案。永远不要关闭系统资源,如
系统。在
@flyn中,我听到你在说什么,但是,如果资源不会在您的程序中再次使用,那么请注意,这正是极少数情况之一,您应该添加注释说明为什么要这样做,并添加
@SuppressWarning
。这就是do-while循环方便的地方IMO@Obenland假设用户不能按照简单的说明输入奇数:a do while循环将是完美的。永远不要关闭系统资源,如
系统。在
@flyn中,我听到了你的话,但是,如果资源不会在您的程序中再次使用,那么请注意,这正是极少数情况之一,您应该添加注释说明为什么要这样做,并添加
@SuppressWarning
。这就是do-while循环方便的地方IMO@Obenland假设用户不能按照简单的说明输入奇数:a do while循环将是完美的