程序进行选择使用或是不使用,如果在选择过程中输入了不是Y或N字符,程序会回到定义choose函数的那一步然并打印提示信息后重新开始。如果选择使用然后手动输入两个数字进行乘法,并打印出结果;如果选择不使用则退出程序。
可是最后的结果始终都是else那一步不管输入的是Y还是N,不知道问题出在哪?求大神帮忙看下
非常感谢!!!
可是最后的结果始终都是else那一步不管输入的是Y还是N,不知道问题出在哪?求大神帮忙看下
非常感谢!!!
public boolean equals(Object anObject) {
if (this == anObject) {
return true;
}
if (anObject instanceof String) {
String anotherString = (String)anObject;
int n = value.length;
if (n == anotherString.value.length) {
char v1[] = value;
char v2[] = anotherString.value;
int i = 0;
while (n-- != 0) {
if (v1[i] != v2[i])
return false;
i++;
}
return true;
}
}
return false;
}您的代码可以写成这样,我写了一个小demo您可以参考一下:
import java.util.Scanner;public class EqualsTest {
public static void main(String[] args){
System.out.println("输入'Y'后接两个数字,系统将自动进行乘法运算;输入'N',系统退出");
while(true){
Scanner scanner = new Scanner(System.in);
//三目运算符,用法为 A ? B : C ,A 为boolean类型, A == true,则取 B 赋值, A == false,则取 C 赋值
boolean isUse = "Y".equals(scanner.next()) ? true : false;
if(isUse){
double num1 = scanner.nextDouble();
double num2 = scanner.nextDouble();
System.out.println(num1 + "*" + num2 + "=" + num1 * num2);
}else{
System.out.println("退出");
}
}
}
}打印台输出结果为:
== 换成equals应该就可以了