Java中的Switch语句
基本上,我需要取一个字母a-Z并将其转换为韭菜(符号、#的组合,看起来像a-Z字符的字母)。我只允许使用switch语句(switch、case、breaks),还必须使用.next().charAt(0)方法 当我试图编译我的程序时,它会出现多个错误,所有读取“找不到符号”的内容都指向我在case语句中使用的a-z字符Java中的Switch语句,java,Java,基本上,我需要取一个字母a-Z并将其转换为韭菜(符号、#的组合,看起来像a-Z字符的字母)。我只允许使用switch语句(switch、case、breaks),还必须使用.next().charAt(0)方法 当我试图编译我的程序时,它会出现多个错误,所有读取“找不到符号”的内容都指向我在case语句中使用的a-z字符 import java.util.Scanner; public class dlin_Leet { public static void main(String a
import java.util.Scanner;
public class dlin_Leet
{
public static void main(String args[])
{
Scanner input = new Scanner(System.in);
char character;//input by user
String Leet;
System.out.print("Enter character to convert:");
String Leet = input.next();
char character = Leet.charAt(0);
switch (character)
{
case a: Leet = "4";
break;
case b: Leet = "I3";
break;
case c: Leet = "[";
break;
case d: Leet = ")";
break;
case e: Leet = "3";
break;
case f: Leet = "|=";
break;
case g: Leet = "&";
break;
case h: Leet = "#";
break;
case i: Leet = "1";
break;
case j: Leet = "J";
break;
case k: Leet = "|<";
break;
case l: Leet = "1";
}
System.out.println(Leet);
}
}
import java.util.Scanner;
公共课
{
公共静态void main(字符串参数[])
{
扫描仪输入=新扫描仪(System.in);
char character;//由用户输入
弦乐;
System.out.print(“输入要转换的字符:”);
字符串Leet=input.next();
char character=Leet.charAt(0);
开关(字符)
{
案例a:Leet=“4”;
打破
案例b:Leet=“I3”;
打破
案例c:Leet=“[”;
打破
案例d:Leet=“)”;
打破
案例e:Leet=“3”;
打破
案例f:Leet=“|=”;
打破
案例g:Leet=“&”;
打破
案例h:Leet=“#”;
打破
案例一:Leet=“1”;
打破
案例j:Leet=“j”;
打破
案例k:Leet=“|字符常量必须在字母表中:
案例“a”:
而不是案例a:
修复你的代码,我希望这是你唯一的语法错误。case语句使用char
(意思是单引号),应该是
switch (character)
{
case 'a': Leet = "4";
break;
case 'b': Leet = "I3";
break;
.........
}
您的案例应该是类似于案例“a”的字符
switch(character)
{
case 'a':
//do your stuff
}
而且您正在声明leet(字符串变量两次)。只需声明一个,并在从扫描仪获得输入时使用相同的变量
-在同一块中声明变量“Leet”和“character”两次(重复局部变量)只有在使用JDK7的情况下,才能使用开关大小写中的字符串,即使这样,也必须将值括在引号中。
像
@user1714873:如果它解决了你的问题,请不要忘记接受答案。他正在转换字符..它应该是“a”。这在Java 6中也完全有效。
case "a":