我想通过比较他们的生日来弄清楚两个人中哪一个更老或更年轻。如果他们的生日不同,它给出了1个正确的答案,但是当他们的生日相同时,它给了我3个答案(如下所示),这不是我的意图。
Person A is younger
Person A is younger
Person A is younger
如何只获得一个答案They are same
?
import java.util.Scanner;
public class hghfg {
public static void main(String[] args) {
Scanner A= new Scanner (System.in);
System.out.println("Person A Enter Year");
int B= A.nextInt();
System.out.println("Enter Month");
int C= A.nextInt();
System.out.println("Enter Day");
int Z= A.nextInt();
System.out.println("Person B Enter Year");
int D= A.nextInt();
System.out.println("Enter Month");
int E= A.nextInt();
System.out.println("Enter Day");
int F= A.nextInt();
if( B> D){
System.out.println("Person A is older");
}
else {
System.out.println("Person A is younger");
}
if(B==D){
if (C>E){
System.out.println("Person A is older");}
else {
System.out.println("Person A is younger");
}
}
if (B==D || C==E){
if (Z>F){
System.out.println("Person A is older");}
else {
System.out.println("Person A is younger");
}
if (B==D || C==E || Z==F){
System.out.println("They are same");
}
}
}
}
答案 0 :(得分:1)
从未听说过if循环,我看不到循环。如果B < D或B == D,你的第一个else子句总是打印出“人A更年轻”,这是错误的,这可能是你得到多个输出的原因。
尝试此操作
if( B> D) {
System.out.println("Person A is older");
} else if(B < D) {
System.out.println("Person B is older");
} else {
/* same year; do same pattern for month etc. */
}
答案 1 :(得分:0)
好的,所以java中有一个名为if else的语句。我将演示。
public class IfelseExample{
int B, D;
if(B==D)
System.out.println("A sentence");
else if(B>D)
System.out.println("A different sentence");
else
System.out.println("Another different sentence");
}
这段代码的作用是,如果B等于D,它输出&#34;一个句子&#34;,如果B大于D,它输出&#34;一个不同的句子&#34;,如果两者都不是真的它输出&#34;另一个不同的句子&#34;我希望这有帮助!
答案 2 :(得分:0)
Scanner A = new Scanner(System.in);
System.out.println("Person A Enter Year");
int B = A.nextInt();
System.out.println("Enter Month");
int C = A.nextInt();
System.out.println("Enter Day");
int Z = A.nextInt();
System.out.println("Person B Enter Year");
int D = A.nextInt();
System.out.println("Enter Month");
int E = A.nextInt();
System.out.println("Enter Day");
int F = A.nextInt();
if (B < D) {
System.out.println("Person A is older");
} else if (B == D) {
if (C < E) {
System.out.println("Person A is older");
} else if (B == D && C == E) {
if (Z < F) {
System.out.println("Person A is older");
} else if(B == D && C == E && Z == F) {
System.out.println("They are same");
} else {
System.out.println("Person A is younger");
}
} else {
System.out.println("Person A is younger");
}
} else {
System.out.println("Person A is younger");
}
试试这个。它会工作,你应该构建一个适当的嵌套 - 如果在这种情况下。我将||
条件替换为&&
条件。