2013-10-22 53 views
-1

我正在编写一个程序,并试图计算某些TDEE。每个性别之间的方程不会有所不同。要计算TDEE,你需要考虑他们的活动因子和BMR,并将其乘以我知道如何去做,但活动因子是变化的,并且是我需要帮助的。 O需要知道如何将“如果acLevel1等于0,那么活动因子为1.0”放入java中?但是我还需要知道,如果是女性输入数据,我将如何改变,因为活动因素因性别而异。我编写了大部分代码,但只需要一点点帮助。在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(); 
+0

和你的代码中有什么问题? – exexzian

回答

0

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

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

我有,没有必要在你的第一句话中粗鲁。 –

+0

不完全。 acLevel1是一个字符串,将它与int文字进行比较不会奏效。 AcLevel是一个字符,所以如果(acLevel =='0')。也不需要这么尖刻,我们都有脑屁。 – Taylor

+0

凯文我没有被吓倒。我只是说,当我所做的只是提出一个简单的java问题时,他不必粗鲁,所以我可以学习如何正确地做到这一点。我的问题没有错误?我告诉过你们所有你需要知道的信息,以帮助我学会如何去做。 –

1

问题是,acLevel1是一个字符串,所以你不能以你想要的方式使用它。我会将acLevel1更改为int并将其更改为nextInt。

然后使用的if else语句纳雷什写道

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

这应该是'acLevel =='0''? – kevinsa5

+0

此外,您还可以使用.equals方法评估字符串:if(“0”.equals(acLevel1)){}'。 – Radiodef

+0

是的,但没有使用if语句的布尔值==。 – Mercifies

0

你可以使用一个switch语句给每个条件的,一旦你已经跟着Mercifies'关于使用.nextInt()方法的建议。

相关问题