为什么我这个枚举程序按照书上写的程序有那么多错误,我还改正不了?
如题,感觉没有写错,自己看不出来,但是提示有许多错误。
import java.util.*;
public class Test
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
String input = in.next().toUpperCase();
Size size = Enum.valueOf(Size.class, input);
System.out.println("size = " + size);
}
}
enum Size
{
private String abbreviation;
SMALL("S"), MEDIUM("M"), LARGE("L"), EXTRA_LAGRGE("XL");
private Size(String abbreviation);
{
this.abbreviation = abbreviation;
}
public String getAbbreviation()
{
return abbreviation;
}
}
错误提示有
------解决方案--------------------书上也不一定都对
enum Size
{
SMALL("S"), MEDIUM("M"), LARGE("L"), EXTRA_LAGRGE("XL");
private String abbreviation;
private Size(String abbreviation)
{
this.abbreviation = abbreviation;
}
public String getAbbreviation()
{
return abbreviation;
}
}
改成这个,注意你的20行多了个分号
------解决方案--------------------第18行的方法JDK里面是没有的,除非楼主引用了其它的jar包,如果是这样的话,那么楼主编译的时候需要加入导入的jar包
第16行是什么写法?我没见过...不过16行的语法肯定是通不过的
第20行是方法定义和实现,既然有实现的话,那么就定义方法后就不需要分号;了,把最后一个分号去掉。
------解决方案--------------------import java.util.*;
public class Test
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
String input = in.next().toUpperCase();
Size size = Enum.valueOf(Size.class, input);
System.out.println("size = " + size);
}
}
enum Size
{
SMALL("S"), MEDIUM("M"), LARGE("L"), EXTRA_LAGRGE("XL");
private String abbreviation;//这句位置放这
private Size(String abbreviation)//这个地方分号去掉
{
this.abbreviation = abbreviation;
}
public String getAbbreviation()
{
return abbreviation;
}
}
------解决方案--------------------