求指教:我的代码想实现输入分数等级,输出相应的分数。但是不知道错在哪里不能实现

package Test;

import java.util.Scanner;

/**
*

  • @author hpy
  • 键盘输入优,良,中,差等级
  • 输出给出对应的5,4,3,2分数段
    */
    public class t3 {

    public static void main(String[] args) {
    Scanner S1 = new Scanner(System.in);
    System.out.println("请输入分数等级");
    char grade = S1.next( ).charAt(0);//接受键盘输入的字符串,接收头个字符
    switch (grade) { //可以对两种类型的数据进行判断
    case '优':
    System.out.println(5);
    break;
    case '良':
    System.out.println(4);
    break;
    case '中':
    System.out.println(3);
    break;
    case '差':
    System.out.println(2);
    break;
    default:
    System.out.println("输入的等级有误");
    }

    }

}
//不能按照想法输出,等待解决问题

编码问题吧 统一编码格式
Scanner S1 = new Scanner(System.in, "GBK");//这里试试GBK或者UTF-8

我拿你的代码没问题,你说的不能按照想法输出是什么情况? 不能通过编译,还是逻辑问题

你这个代码错误在哪儿?

我直接复制的你的代码,在我的myeclipse里运行完全正常啊

是编码格式问题,可以在eclipse的设置里面修改,或者直接用Scanner S1 = new Scanner(System.in, "UTF-8");

图片说明
没遇到问题