No enum constant com.you.example.EnumExample.Season.

1、错误描述

请输入:夏天
Exception in thread "main" java.lang.IllegalArgumentException: No enum constant com.you.example.EnumExample.Season.澶忓ぉ
	at java.lang.Enum.valueOf(Enum.java:236)
	at com.you.example.EnumExample.main(EnumExample.java:63)

2、错误原因

/**
 *
 * 项目名称:DABF
 * 项目包名:com.you.example
 * 文件名称:EnumExample.java
 * 类型名称:EnumExample
 * 创建作者:游海东
 * 创建日期:2017-1-7
 * 创建时间:下午4:01:45
 * 项目版本:V1.0
 */
package com.you.example;

import java.util.Scanner;

/**
 * 文件名称:EnumExample.java
 * 文件类型:EnumExample
 * 文件包名:com.you.example
 * 创建作者:游海东
 * 创建日期:2017-1-7
 * 创建时间:下午4:01:45
 */
public class EnumExample 
{
	enum Season
	{
		SPRING,SUMMER,AUTUMN,WINTER;
		
		private String season;

		/**
		 * @return the season
		 */
		public String getSeason() {
			return season;
		}

		/**
		 * @param season the season to set
		 */
		public void setSeason(String season) {
			this.season = season;
		}
		
	}

	/**
	 * 方法描述:
	 * 创建作者:游海东
	 * 创建日期:2017-1-7
	 * 创建时间:下午4:01:45
	 * 方法名称:main
	 * 方法类型:EnumExample
	 * 返回类型:void
	 * @param args
	 */
	public static void main(String[] args) 
	{
		Scanner in = new Scanner(System.in);
		System.out.printf("请输入:");
		String cut = in.next().toUpperCase();
		Season season = Enum.valueOf(Season.class,cut);
		if(season==Season.SPRING)
		{
			System.out.println("春天");
		}
		else if(season==Season.SUMMER)
		{
			System.out.println("夏天");
		}
		else if(season==Season.AUTUMN)
		{
			System.out.println("秋天");
		}
		if(season==Season.WINTER)
		{
			System.out.println("冬天");
		}
	}

}

       枚举类型只有SPRING,SUMMER,AUTUMN,WINTER四种,但是输入的时候输入了中文字符,不在范围内,导致报错


3、解决办法

     输入时:SUMMER,输入英文字符

原文地址:https://www.cnblogs.com/hzcya1995/p/13313960.html