Java 如何正确使用toUpperCase();

Java 如何正确使用toUpperCase();,java,Java,我在一些java代码上遇到了一些问题,所以我想我应该在这里问一下。我被要求添加一行代码来处理小写输入,但我不确定如何实现它。我可能非常期待一个非常简单的解决方案,但非常感谢任何帮助 import java.util.Scanner; public class Worksheet_7 { public static void main(String[]args) { Scanner Fred = new Scanne

我在一些java代码上遇到了一些问题,所以我想我应该在这里问一下。我被要求添加一行代码来处理小写输入,但我不确定如何实现它。我可能非常期待一个非常简单的解决方案,但非常感谢任何帮助

    import java.util.Scanner;

    public class Worksheet_7
    {
        public static void main(String[]args)
        {
            Scanner Fred = new Scanner(System.in);
            System.out.println("Today we practice using switch statements \n\n");
            char Ans;
            System.out.println("What kind of car do you drive");
            System.out.println("(F)ord, (C)hevy, (B)uick,(M)azda,(H)onda");
            String Word = Fred.next();
            Ans=Word.charAt(0);
            switch(Ans)
            {
                case 'C': System.out.println("Chevy-the heartbeat of America");
                System.out.println("Buy a ford");
                break;
                case 'F': System.out.println("Ford tough");
                System.out.println("Nice job cowboy");
                break;
                case 'B': System.out.println("Buick-Luxury you can afford");
                System.out.println("Seriously? A Buick? That's not Luxury");
                break;
                case 'M': System.out.println("Mazda-Zoom, Zoom");
                System.out.println("Can't really say anything");
                break;
                case 'H': System.out.println("Honda-Always dependable");
                System.out.println("Yeah, yeah, yeah");
                break;
                default: System.out.println("Need a better car...?");
            }
             System.out.println("\n\n done for now..");
        }
    }
Fred.next()
是一个
字符串

您需要在某处调用
public String toUpperCase()的
String
方法

注意:它返回一个新的字符串,而不是大写


或者有一个
字符
方法
公共静态字符toUpperCase(char ch)


或者您可以更新案例

case 'c':
case 'C':
    ...
    break;
case 'f':
case 'F':
    ...
    break;

尝试此操作,用户
String
而不是
char

public static void main(String[]args)
{
    Scanner Fred = new Scanner(System.in);
    System.out.println("Today we practice using switch statements \n\n");
    String Ans;
    System.out.println("What kind of car do you drive");
    System.out.println("(F)ord, (C)hevy, (B)uick,(M)azda,(H)onda");

    String Word = Fred.next();

    Ans=Word.substring(0, 1).toUpperCase();

    switch(Ans)
    {
        case "C": System.out.println("Chevy-the heartbeat of America");
            System.out.println("Buy a ford");
            break;
        case "F": System.out.println("Ford tough");
            System.out.println("Nice job cowboy");
            break;
        case "B": System.out.println("Buick-Luxury you can afford");
            System.out.println("Seriously? A Buick? That's not Luxury");
            break;
        case "M": System.out.println("Mazda-Zoom, Zoom");
            System.out.println("Can't really say anything");
            break;
        case "H": System.out.println("Honda-Always dependable");
            System.out.println("Yeah, yeah, yeah");
            break;
        default: System.out.println("Need a better car...?");
    }
    System.out.println("\n\n done for now..");
}

你可以把开关换成

switch (ans.toUpperCase()){

您需要更改将
Ans
与大小写进行比较的方式,可能从这里开始。它返回一个字符串,但显然他正在检索该字符串的第一个字符。别误会,你的建议比他目前的解决方案要好。@OusmaneDiaw它对整个字符串的大写性能较差,确定这会有多大影响?@Lew为另一个字符串分配更多内存?没错。因此,当人们说“性能较差”的东西会使整个程序耗时纳秒时,他们的注意力就错了。使用
switch(Character.toUpperCase(Ans))
比substring更好我想你的意思是
公共静态char-toUpperCase(char-ch)