我正在使用扫描仪询问用户输入(压力,体积,温度,摩尔数),但我在IF语句中解决了两个不同的方程式。我试图让它只询问所需的变量而不是所有变量。例如,解决Moles,我只需要压力,气体,温度和体积。我不需要问用户“痣数”,因为这是我想要解决的问题。有人可以协助吗?谢谢,
import java.util.Scanner;
/**
*
* @author 261141
*/
public class IdealGasLaw1 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
Scanner s = new Scanner(System.in);
Scanner in = new Scanner(System.in);
String answer;
System.out.println("What do you want to solve for?");
answer = s.nextLine();
System.out.print("Pressure? (in Torr) ");
double pressure = in.nextDouble();
System.out.print("Volume? (in liters) ");
double volume = in.nextDouble();
System.out.print("Temp ? (in Kelvin) ");
double temp = in.nextDouble();
System.out.print("Moles? ");
double moles = in.nextDouble();
double gas = 62;
double PresAns = (pressure)*(volume)/gas * (temp+273);
double MoleAns = (pressure)*(moles);
if (answer.equals("Moles" )) {
System.out.println("Moles =" +MoleAns +" moles");
}
else
System.out.println("Pressure =: "+PresAns +" Torr");
}
}
答案 0 :(得分:0)
使用answer
来决定是否需要痣。例如:
double moles = 0;
if (!answer.equalsIgnoreCase("Moles")) { // note the use of the NOT symbol
System.out.print("Moles? ");
moles = in.nextDouble();
}
此外,moles
在if
语句之外声明,必须初始化,否则代码不会编译。尝试类似其他输入变量。
答案 1 :(得分:0)
请查看这是否适合您。我使用了if子句来检查用户输入是什么(摩尔/压力)。基于此,程序会询问用户不同的输入。
import java.util.Scanner;
/**
*
* @author 261141
*/
public class IdealGasLaw1 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
Scanner s = new Scanner(System.in);
Scanner in = new Scanner(System.in);
String answer;
double gas = 62;
System.out.println("What do you want to solve for?");
answer = s.nextLine();
System.out.print("Pressure? (in Torr) ");
double pressure = in.nextDouble();
if(answer.equals("Moles")) {
System.out.print("Moles? ");
double moles = in.nextDouble();
double MoleAns = (pressure)*(moles);
System.out.println("Moles =" +MoleAns +" moles");
}
else if(answer.equals("Pressure")) {
System.out.print("Volume? (in liters) ");
double volume = in.nextDouble();
System.out.print("Temp ? (in Kelvin) ");
double temp = in.nextDouble();
double PresAns = (pressure)*(volume)/gas * (temp+273);
System.out.println("Pressure =: "+PresAns +" Torr");
}
}
}