Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.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
Methods 调用方法并执行while循环_Methods_Do While - Fatal编程技术网

Methods 调用方法并执行while循环

Methods 调用方法并执行while循环,methods,do-while,Methods,Do While,我是一个初学者/学生,正在努力学习一些基本概念。我 我试图调用我的displaymenu方法,以便当用户 输入正确的字符,提示他们输入温度 完成后,让他们再次选择温度 直到他们选择退出选项 这是我目前的代码: import java.util.Locale; import java.util.Scanner; public class project7 { static Scanner kb = new Scanner(System.in); public static in

我是一个初学者/学生,正在努力学习一些基本概念。我 我试图调用我的
displaymenu
方法,以便当用户 输入正确的字符,提示他们输入温度 完成后,让他们再次选择温度 直到他们选择退出选项

这是我目前的代码:

import java.util.Locale;
import java.util.Scanner;

public class project7 {
    static Scanner kb = new Scanner(System.in);

    public static int fartocel(int f){


        f = ( f - 32 ) * 5 / 9;
        return f;
    }
    public static int caltofar(int c){

        c = c * 9 / 5 + 32;
        return c;
    }
public static char displaymenu(){
    char pick;
    boolean first;

    first = false;
    do {

        System.out.println("\nF - Far ");
        System.out.println("C - Cel ");
        System.out.println("Q - quit");
        System.out.print("\nPick: ");
        pick = Character.toUpperCase(kb.next().charAt(0));

        switch (pick) {
            case 'C':
            case 'F':
            case 'Q':
                first = true;
                break;
            default:
                System.out.println("\nPlease choose F, C, or Q");
                break;
        }
    }while (!first);

    return pick;

}

    public static void main(String[] args)  {
int c;
int f;
String answer;






    System.out.println("\n\nYou picked: " + displaymenu());

do {

    System.out.print("Enter the Cel temp: ");
    c = kb.nextInt();
    System.out.println("The temp " + c + " Cel " + "is Far " + caltofar(c));


    System.out.print("enter the Far temp: ");
    f = kb.nextInt();
    System.out.print("The temp " + f + "Far " + "is Cel " + fartocel(f));
    System.out.println("\n\nTry again?  Yes or No ");
answer = kb.next();
}
while (answer.equalsIgnoreCase("Yes"));



    }

}
我正在尝试调用displaymenu方法

不建议在此处使用短语回调,因为它可能会导致与函数混淆;再说一遍。要做到这一点,就要改变

    System.out.println("\n\nYou picked: " + displaymenu());

do {
    …
    System.out.println("\n\nTry again?  Yes or No ");
answer = kb.next();
}
while (answer.equalsIgnoreCase("Yes"));

    for (char picked; (picked = displaymenu()) != 'Q'; )
    {
    …
    }