首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >尝试输入char并使用compareTo时,不能取消引用Char

尝试输入char并使用compareTo时,不能取消引用Char
EN

Stack Overflow用户
提问于 2018-06-16 09:07:52
回答 1查看 128关注 0票数 -1

所以我对java还是个新手,在这个问题上我被困住了。

提示用户输入两个字符,并将它们存储在两个字符变量中。比较变量,如果第一个字符小于第二个字符,则打印“小于”。否则,如果第一个字符大于第一个字符,则打印“大于”。否则,如果它们相等,则print“等于”。如果用户输入‘A’则‘B’print: A小于B如果用户输入‘B’则‘A’print: B大于A如果用户输入‘A’则‘A’print: A等于A

注意:如果用户输入字符A和B,则会打印上述输出。如果用户输入其他字母,则会打印这些字母。这就是变量的力量!

代码语言:javascript
复制
 Scanner letter = new Scanner(System.in);
 String input;
 char firstChar;
 char secondChar;

 System.out.println("Enter two characters:");

 input = letter.nextLine();
 firstChar = input.charAt(0);
 input = letter.nextLine();
 secondChar = input.charAt(0);



  if (firstChar.compareTo(secondChar) < 0)
 {
 System.out.println(firstChar+ " is less than " +secondChar+ "");
 }

  if (firstChar.compareTo(secondChar) > 0)
 {
 System.out.println(firstChar+ " is greater than " +secondChar+ "");
 }

  if (firstChar.compareTo(secondChar) == 0)
 {
 System.out.println(firstChar+ " is equal to " +secondChar+ "");
 }

我不确定我是否需要这个字符串,或者我是否可以使用

firstChar = letter.next().charAt(0);

EN

回答 1

Stack Overflow用户

发布于 2018-06-16 09:14:56

你的问题在于你使用firstChar变量等等的方式。

代码语言:javascript
复制
  char firstChar; // OK

  firstChar = input.charAt(0); // OK

  if (firstChar.compareTo(secondChar) < 0)   // FAIL!

char类型是一种基本类型。不能在char上调用方法。

您需要直接对字符值进行操作...使用数字、关系或按位运算符;例如

代码语言:javascript
复制
  if (firstChar < secondChar)) 

如果firstChar的类型是Character而不是char,那么您想要做的事情就会起作用。但在这种情况下,使用char更简单,更快,更少的代码,等等。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50884225

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档