Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.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 使用方法重复查找整数_Java_Methods - Fatal编程技术网

Java 使用方法重复查找整数

Java 使用方法重复查找整数,java,methods,Java,Methods,你好,我的目的是: 编写一个只能接受10到50之间的值的方法。示例执行:输入一个10到50之间的数字输入一个数字:5输入一个10到50之间的数字输入一个数字:12输入一个数字:0再见,这样您就可以看到它只在用户输入0时结束。它说当数字介于10和50之间或不在10和50之间时,会发生不同的事情。我再次删除代码并开始,但我在某些方面遇到了困难,于是放弃了。我的最终代码是: import java.util.Scanner; public class A{ public static void ma

你好,我的目的是: 编写一个只能接受10到50之间的值的方法。

示例执行:
输入一个10到50之间的数字
输入一个数字:5
输入一个10到50之间的数字
输入一个数字:12
输入一个数字:0
再见

,这样您就可以看到它只在用户输入0时结束。它说当数字介于10和50之间或不在10和50之间时,会发生不同的事情。我再次删除代码并开始,但我在某些方面遇到了困难,于是放弃了。我的最终代码是:

import java.util.Scanner;
public class A{

public static void main(String[] args) {

    Scanner scan = new Scanner(System.in);

    System.out.println("Enter case number: ");
    int caseVal = scan.nextInt();

    switch(caseVal){

    case 1:

        System.out.println("Enter a number between 10 and 50");
        System.out.println("Enter a number: ");
        int num = scan.nextInt();
        betweenMethod(num);
        if(num == 0){
            System.out.println("Good Bye");
            break;
        }
        while(num != 0){
            betweenMethod(num);

        }

        break;

    case 2:

        System.out.println("Enter a number to display its divisors: ");
        int x = scan.nextInt();
        System.out.println("The divisors of " + x + " are:");
        divisorsMethod(x);

        break;
    }

    scan.close();

}

public static void divisorsMethod(int a){

    if(a <= 0)
        System.out.println("The number should be greater than 0");
    else{   

    for(int b = 1; b <= a; b++){

        if(a % b == 0 && b != a)
            System.out.print(b + ", ");

        else if(b == a)
            System.out.println(b);
        }
    }
}

public static void betweenMethod(int a){
    Scanner inputscan = new Scanner(System.in);

    if(a >= 10 && a <= 50){
        System.out.println("Enter a number:");
        a = inputscan.nextInt();
    }
    else if((a < 10 || a > 50) && a != 0){
        System.out.println("Enter a number between 10 and 50");
        System.out.println("Enter a number:");
        a = inputscan.nextInt();

    }
    else{
        System.out.println("Good Bye");
    }

inputscan.close();  

}


}
import java.util.Scanner;
公共A类{
公共静态void main(字符串[]args){
扫描仪扫描=新扫描仪(System.in);
System.out.println(“输入案例编号:”);
int caseVal=scan.nextInt();
开关(caseVal){
案例1:
System.out.println(“输入一个介于10和50之间的数字”);
System.out.println(“输入一个数字:”);
int num=scan.nextInt();
中间方法(num);
如果(num==0){
System.out.println(“再见”);
打破
}
while(num!=0){
中间方法(num);
}
打破
案例2:
System.out.println(“输入一个数字以显示其除数:”);
int x=scan.nextInt();
System.out.println(“x+的除数为:”);
除数法(x);
打破
}
scan.close();
}
公共静态无效因子方法(INTA){
如果(a)不关闭()
System.in
调用
inputscan.close()
时,将关闭基础
InputStream
,即
System.in

返回值 您的方法应该提示在两个值之间输入并返回单个值。此外,您可以将
扫描仪
移动到
静态
(或类)字段。类似于

private static Scanner inputscan = new Scanner(System.in);
public static int betweenMethod(final int a, final int b) {
    int min = Math.min(a, b);
    int max = Math.max(a, b);
    while (true) {
        System.out.printf("Please enter a number between %d and %d%n", min, max);
        int in = inputscan.nextInt();
        if ((in == 0) || (in >= min && in <= max)) {
            return in;
        }
    }
}

1 <强>和<强> > java中的其他所有东西。< /p>我删除C++标签,因为这与C++无关。删除<代码>输入扫描。。您在哪里遇到了问题?您需要什么帮助?因此,您选择案例1,它会提示您输入一个数字,并将您带到中间方法,该方法静默等待您输入另一个数字,检查原始数字,提示您输入第三个数字-并将其丢弃-然后返回案例1并进入无限while循环在原始“num”编号上的中间方法(从未更改)。是的,它没有按照描述“完全”工作。好的,我删除了它,它也删除了错误。谢谢,但是现在除了0之外,所有链接都可以正常工作。当我输入0时,它不会说再见并结束它。

int num = betweenMethod(10, 50);
while (num != 0) {
    System.out.printf("Number Entered: %d.%n", num);
    num = betweenMethod(num);
}
System.out.println("Good Bye");
break;