【发布时间】:2017-07-28 19:39:07
【问题描述】:
我在下面的代码中尝试做的是让用户输入两个单独的字符串,我知道我使用了名字和姓氏,但忽略了它。所以用户输入两个字符串,它应该打印最长的字符串。 我的程序并不总是这样做。我需要进行哪些更改才能使其正常工作?
import java.util.Scanner;
public class Q2
{
public static void main(String args [])
{
Scanner keyboardIn = new Scanner(System.in);
String Fname;
String Lname;
System.out.print("Please enter first name: ");
Fname=keyboardIn.nextLine();
System.out.print("Please enter last name: ");
Lname=keyboardIn.nextLine();
if(Fname.compareTo(Lname) < 0)
{
System.out.println(Lname + " Is longest ");
}
else if(Fname.compareTo(Lname) > 0)
{
System.out.println(Fname + " Is longest ");
}
}
}
【问题讨论】:
-
compare方法不(仅)比较长度。字符串有一个length方法,可以做你想做的事。 -
当字符串长度相等时,您还必须确定预期的结果。
-
无关:阅读 Java 命名约定。变量名采用驼峰命名法。
-
你可以接受这个答案stackoverflow.com/questions/45381201/…希望它能解决你的问题。