Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在尝试输入字符并使用compareTo时,无法取消对Java的字符引用_Java_If Statement_Char_Compareto_Charat - Fatal编程技术网

在尝试输入字符并使用compareTo时,无法取消对Java的字符引用

在尝试输入字符并使用compareTo时,无法取消对Java的字符引用,java,if-statement,char,compareto,charat,Java,If Statement,Char,Compareto,Charat,因此,我对java是相当陌生的,我一直被这个问题困扰着 提示用户输入两个字符并将其存储在两个字符中 变量。比较变量并打印“小于” “如果第一个字符小于第二个字符。 否则,如果 第一个字符大于第一个字符。否则,请打印 如果它们相等,“等于” 如果用户输入“A”,则“B”打印:如果用户输入“B”,则A小于B 则“A”打印:B大于A如果用户输入“A”,则“A”打印: A等于A 注:如果用户输入字符A和B,将打印上述输出。如果用户输入其他字母,将打印这些字母。这就是变量的力量 Scanner lett

因此,我对java是相当陌生的,我一直被这个问题困扰着

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

如果用户输入“A”,则“B”打印:如果用户输入“B”,则A小于B 则“A”打印:B大于A如果用户输入“A”,则“A”打印: A等于A

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

 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+ "");
 }
扫描器字母=新扫描器(System.in);
字符串输入;
char firstChar;
第二字符;
System.out.println(“输入两个字符:”);
输入=letter.nextLine();
firstChar=input.charAt(0);
输入=letter.nextLine();
secondChar=input.charAt(0);
if(firstChar.compareTo(secondChar)<0)
{
System.out.println(firstChar+”小于“+secondChar+”);
}
如果(firstChar.compareTo(secondChar)>0)
{
System.out.println(firstChar+”大于“+secondChar+”);
}
if(firstChar.compareTo(secondChar)==0)
{
System.out.println(firstChar+”等于“+secondChar+”);
}
我不确定是否需要字符串,或者是否可以直接使用

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

您的问题在于使用
firstChar
变量等等

  char firstChar; // OK

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

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


如果
firstChar
的类型是
Character
而不是
char
,则您尝试执行的操作会起作用。但是在这种情况下,使用
char
更简单、更快、更少的代码等等。

问题是什么?您是否收到错误?我收到一个从if(firstChar.compareTo(secondChar)<0)开始的字符无法取消引用错误,因此我假设所有if语句都已关闭?请在问题中用trace发布完整错误。
  char firstChar; // OK

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

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