java运行得到的结果与我想要的不一样

来源:百度知道 编辑:UC知道 时间:2024/06/19 19:42:26
程序如下
import java.util.Scanner;
public class AgeAndWeight{
public static void main(String[]args){

System.out.print("请输入在地球上生活的年数:");
int years=new Scanner(System.in).nextInt();

System.out.print("请输入在地球上生活的不满一年的天数:");
int days=new Scanner(System.in).nextInt();

System.out.print("请输入想居住的外星球(Mercury,Venus or Jupiter):");
String planet=new Scanner(System.in).nextLine();

if(planet=="Mercury")
System.out.println("你在"+planet+"上的年龄是"+(years*365+days)/88+"岁"+(years*365+days)%88+"天!");

else if(planet=="Venus")
System.out.println("你在"+planet+"上的年龄是"+(years*365+days)/225+"岁"+(years*365+days)%225+"天!");

else if(planet=="Jupiter")
System.out.println("你在"+planet+"上的年龄是"+(years*365+days)/

晕之,我刚才还没看到回答,这就有了,判断String类型的值是否相等不能用==得用equals来判断。
你换成equals就行了,
其实很好解决的,不过就是因为你没给分,所以可能没有人来看你

对String类型的比较 不能用== 你用 Aplanet.equals("Mercury")这样的试下。