Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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_String_Switch Statement - Fatal编程技术网

Java 如何用字符串和扫描仪固定开关盒

Java 如何用字符串和扫描仪固定开关盒,java,string,switch-statement,Java,String,Switch Statement,输入性别(M或F)后,程序将立即结束,而不会到达开关盒 我试着把“string”改成“string”,但还是没什么变化。我想那会有所不同 import java.util.Scanner; public class FemurHumerus { public static void main(String[] args) { String gender; double FemHum; double MaleHum; double FemFem; d

输入性别(M或F)后,程序将立即结束,而不会到达开关盒

我试着把“string”改成“string”,但还是没什么变化。我想那会有所不同

import java.util.Scanner;
public class FemurHumerus {

  public static void main(String[] args) {

    String gender;
    double FemHum;
    double MaleHum;
    double FemFem;
    double MaleFem;
    int FemHumR;
    int MaleHumR;
    int FemFemR;
    int MaleFemR;

    Scanner scan = new Scanner(System.in);

    System.out.println("What is your gender? (M or F): ");
    gender = scan.nextLine();

    switch (gender) {

        case "F":


            System.out.print("Enter femur length: ");
            FemFem = in.nextInt();
            FemFemR = (int) (FemFem*1.94+28.7);

            System.out.print("Enter humerus length: ");
            FemHum = in.nextInt();
            FemHumR = (int) (FemHum*2.8+28.2);


            System.out.println("Height based on femur: "+FemFemR);
            System.out.println("Height based on humerus: "+FemHumR);

            break;

        case "M":

            System.out.print("Enter femur length: ");
            MaleFem = in.nextInt();
            MaleFemR = (int) (MaleFem*1.88+32);

            System.out.print("Enter humerus length: ");
            MaleHum = in.nextInt();
            MaleHumR = (int) (MaleHum*2.9+27.9);


            System.out.println("Height based on femur: "+MaleFemR);
            System.out.println("Height based on humerus: "+MaleHumR);

            break;

        default:

            System.out.println("Gender not sprecified.");

            break;
    }

  }

}

预期输出应该是基于股骨和肱骨的特定性别的高度

我认为是由于
in.nextInt(),导致无法解决编译错误,

在.nextInt()中更改所有
扫描.nextInt()然后应该就可以了。

我认为是由于.nextInt()中的
,导致无法解决编译错误,

在.nextInt()中更改所有
扫描.nextInt()那么就可以了。

我同意;在.nextInt()中更改您的
scan.nextInt()
除非声明了in并且没有显示其用途


那你就拿你的开关箱吧。

我同意;在.nextInt()中更改您的
scan.nextInt()
除非声明了in并且没有显示其用途


您将得到您的开关盒。

这样您的程序就不会打印“性别未指定”?你能给你的程序附加一个调试器,看看会发生什么吗?
中的
是什么?我没有看到它的声明。我认为你的程序永远不应该编译。.nextInt()中的
是什么东西?您是在输入
f
还是
f
?(或者分别是
m
m
),这样您的程序就不会打印“性别未指定”?你能给你的程序附加一个调试器,看看会发生什么吗?
中的
是什么?我没有看到它的声明。我认为你的程序永远不应该编译。.nextInt()中的
是什么东西?您是在输入
f
还是
f
?(或分别为
m
m
)请为您的问题btw标记已回答请为您的问题btw标记已回答