使值等于Java中的另一个值

时间:2013-10-22 02:12:50

标签: java

我正在写一个程序,我正在尝试计算一些TDEE。该等式在每个性别之间不变。要计算TDEE,你需要考虑他们的活动因子和BMR,然后乘以我知道该怎么做,但活动因子是变化的,这是我需要帮助的。我需要知道如何将“如果acLevel1等于0,那么活动因子是1.0”放入java?但我还需要知道,如果是女性输入数据,我会如何改变,因为活动因素因性别而异。我已经编写了大部分代码,但只是需要帮助。

import java.util.Scanner;
public class TDEE
{
public static void main(String[] args)
{
Scanner TDEE = new Scanner(System.in);
char gender;
char acLevel;
double TDEEReal;

System.out.println("Enter your First and Last name: ");
String TDEE1 = TDEE.nextLine();

System.out.println("Enter your Basal Metabolic Rate: ");
double TDEE2 = TDEE.nextInt();

System.out.println("Enter your gender (M/F): ");
String gender1 = TDEE.nextLine();
gender = gender1.charAt(0);
System.out.println();

System.out.println("Select your activity level");
System.out.println("[0] Resting(Sleeping, Reclining");
System.out.println("[1] Sedentary(Minimal Activity");
System.out.println("[2] Light(Sitting, Standing)");
System.out.println("[3] Moderate(Light manual labor, Dancing, Riding a bike)");
System.out.println("[4] Very Active(Team sports, Hard manual labor)");
System.out.println("[5] Extremely Active(Full time athlete, Heavy manual labor)");
System.out.println();

System.out.print("Enter the number corresponding to your activity level: ");
String acLevel1 = TDEE.nextLine();
acLevel = acLevel1.charAt(0);
System.out.println();

3 个答案:

答案 0 :(得分:1)

问题是acLevel1是一个字符串,因此您无法按照自己的方式使用它。我会将acLevel1更改为int并将其更改为nextInt。

然后使用naresh写的if else语句

     if (acLevel == 0) {
         activityFactor = 1.0;
     }

答案 1 :(得分:0)

[没有粗鲁的意图]有没有听说过条件陈述?如果..别..?

if (acLevel1 == 0)
{
    activityFactor = 1.0
}

答案 2 :(得分:0)

一旦您遵循了Mercifies关于使用.nextInt()方法的建议,您就可以对每个条件使用switch语句。