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