Java 当我明确告诉它不要这样做时,程序仍然会收到这封信

Java 当我明确告诉它不要这样做时,程序仍然会收到这封信,java,Java,至少在其中一行。这是全部代码 import java.util.Scanner; public class TestChar { public static void main(String[] args) { Scanner input = new Scanner(System.in); String myChar ; System.out.println(" Please input a character from your keybo

至少在其中一行。这是全部代码

import java.util.Scanner;

public class TestChar {

public static void main(String[] args) {

     Scanner input = new Scanner(System.in); 

        String myChar ;

        System.out.println(" Please input a character from your keyboard : ");
              myChar = input.nextLine();
              char c = myChar.charAt(0);
                 System.out.println(" You entered " + myChar);

                 System.out.println(" is it a letter? " + Character.isLetter(c));

                 System.out.println(" is it a number? " + Character.isDigit(c));        

                 System.out.println(" is it in lowercase? " + Character.isLowerCase(c));

                 System.out.println(" is it in uppercase? " + Character.isUpperCase(c));

                 if (Character.isLetter(c))
                           System.out.println(" In Upper Case : " + Character.toUpperCase(c) + ". And in lower case : " + Character.toLowerCase(c)) ;


               if 
                 (Character.isDigit(c) && !myChar.equals(Character.isLetter(c)))
                     System.out.println( myChar + " is a number.") ;                                           

              if  (!myChar.equals(Character.isLetter(c)) && !myChar.equals(Character.isDigit(c)))
                       System.out.println( myChar + " is neither a number nor letter.");

   }   

  }
我的另一个学校作业。最后一行代码拾取了一封信,当时(我想)我已经明确告诉过它不要太多。我在编码方面是一个极端的新手,所以请轻松使用我的代码。

Character.isleter()
Character.isDigit()
返回一个布尔值,您随后将其与
myChar
进行比较,后者是一个字符串(有点误导)。显然,他们永远不会平等

以下是一个正确且简化的版本:

if (Character.isLetter(c)) {
    System.out.println(" In Upper Case : " + Character.toUpperCase(c) + ". And in lower case : " + Character.toLowerCase(c));
} else if (Character.isDigit(c)) {
    System.out.println(c + " is a number.");
} else {
    System.out.println(c + " is neither a number nor letter.");
}
Character.islitter()
Character.isDigit()
返回一个布尔值,随后将其与
myChar
进行比较,后者是一个字符串(有点误导)。显然,他们永远不会平等

以下是一个正确且简化的版本:

if (Character.isLetter(c)) {
    System.out.println(" In Upper Case : " + Character.toUpperCase(c) + ". And in lower case : " + Character.toLowerCase(c));
} else if (Character.isDigit(c)) {
    System.out.println(c + " is a number.");
} else {
    System.out.println(c + " is neither a number nor letter.");
}

if-else语句。非常有用,但请注意仅比较相同变量的else情况,这意味着不要对整数执行if语句,然后对字符串或其他不相关的整数执行else if语句。学习愉快!if-else语句。非常有用,但请注意仅比较相同变量的else情况,这意味着不要对整数执行if语句,然后对字符串或其他不相关的整数执行else if语句。学习愉快!好吧,这有点道理。谢谢好吧,这有点道理。谢谢