import java.util.*; //java中的所有系统的类
class Demo8
{
public static void main(String[] args)
{
int s;
System.out.println("请输入0到100之间的一个数a");
Scanner sc=new Scanner (System.in);
s=sc.nextInt(); //方法的使用。这里有方法的返回类型 方法的名称(方法的参数)
static char chengjiDengJi (int s){
/**方法体*/
switch (s/10)
{
case 10:
case 9: return'A';
case 8:
case 7: return'B';
case 6: return'C';
case 5:
case 4:
case 3:
case 2:
case 1: return'D';
}
}
}
}
运行提示为第十行static中有错误,一直没有理解是怎么错的,求详解。
而且你的case连break都没有,应该是这样的
package actions;
import java.util.*; //java中的所有系统的类
class Demo8 {
public static void main(String[] args) {
int s;
System.out.println("请输入0到100之间的一个数a");
Scanner sc=new Scanner(System.in);
s = sc.nextInt(); // 方法的使用。这里有方法的返回类型 方法的名称(方法的参数)
char c = chengjiDengJi(s);
System.out.println("成绩等级为" + c);
}
static char chengjiDengJi(int s) {
/** 方法体 */
char grade=' ';
switch (s / 10) {
case 10:
case 9:
grade= 'A';break;
case 8:
case 7:
grade= 'B';break;
case 6:
grade= 'C';break;
case 5:
case 4:
case 3:
case 2:
case 1:
grade= 'D';break;
}
return grade;
}
}
把chengjiDengJi (int s)这个方法写在main()函数外面就行了啊。
import java.util.*; //java中的所有系统的类
class Demo8
{
public static void main(String[] args)
{
int s;
System.out.println("请输入0到100之间的一个数a");
Scanner sc=new Scanner (System.in);
s=sc.nextInt(); //方法的使用。这里有方法的返回类型 方法的名称(方法的参数)
char c=chengjiDengJi(s);
System.out.println("成绩等级为"+s);
}
static char chengjiDengJi (int s){
/**方法体*/
switch (s/10)
{
case 10:
case 9: return'A';
case 8:
case 7: return'B';
case 6: return'C';
case 5:
case 4:
case 3:
case 2:
case 1: return'D';
}
}
}
不可能啊,我在我机子上一模一样的代码都能运行,你的JDK的版本是多少啊?
还有如何你想直接return也行,后面要加break;如何不加的话,但满足一个CASE后,后面的CASE都将不做判断,而直接后面所有CASE后的代码,所以你输入什么都将返回“D”