在Java中使一个值等于另一个值

在Java中使一个值等于另一个值,java,Java,我正在写一个程序,试图计算一些人的TDEE。这一等式并不因性别而异。要计算TDEE,你需要他们的活动因子和BMR,然后乘以它,我知道怎么做,但活动因子是变化的,我需要帮助。O需要知道如何将“如果acLevel1等于0,那么活动因子为1.0”放入java中?但我还需要知道,如果是女性输入数据,我将如何改变这种情况,因为活动因素因性别而异。我已经编写了大部分代码,但在这一点上需要帮助 import java.util.Scanner; public class TDEE { public stati

我正在写一个程序,试图计算一些人的TDEE。这一等式并不因性别而异。要计算TDEE,你需要他们的活动因子和BMR,然后乘以它,我知道怎么做,但活动因子是变化的,我需要帮助。O需要知道如何将“如果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();

[无意粗鲁]听说过有条件陈述吗?如果。。还有别的吗

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

问题是acLevel1是一个字符串,因此不能按您想要的方式使用它。我会将acLevel1更改为int,然后将其更改为nextInt

然后使用naresh编写的if-else语句

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

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

代码中有什么问题吗?我有过,并且在第一句话中没有必要粗鲁。不完全是这样。acLevel1是一个字符串,将其与int文本进行比较是行不通的。AcLevel是一个字符,因此如果(AcLevel=='0')。也没必要这么小题大做,我们都有过大脑放屁。我不是小题大做的凯文。我是说他不知道;当我所做的只是问一个简单的java问题时,我不必粗鲁,这样我就可以学会如何正确地做。我的问题怎么没有错误?“我告诉你们所有你们需要知道的信息来帮助我学会怎么做。”NateLance我在和naresh说话。干杯。对我来说,你似乎很粗鲁,我很抱歉马上得出这个结论。谢谢你的帮助,我听说过它们,我知道如何使用它们,我只是不知道这是否就是我用来建立这个方程的方法。如果是
acLevel=='0'
?你也可以使用.equals方法计算字符串:
if(“0”.equals(acLevel1)){
。是的,但这并不是在if语句中使用布尔==。Kevin,如果他试图找到字符0,它将是“0”,但我相信他正在试图找到0的索引。@谢天谢地,我们谈论的是不同的事情。您的代码显示
acLevel
,但您说使用
acLevel1
作为字符串,我假设
acLevel
仍然是(字符)第一个数字。很抱歉给你带来了困惑。