大神解答下:Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大神解答下:Exception in thread "main" java.lang.Error: Unresolved compilation problem:相关的知识,希望对你有一定的参考价值。
import java.util.Scanner;
public class 逻辑
/**
* @param args
*/
public static void main(String[] args)
Scanner input=new Scanner(System.in);
System.out.print("请输出张浩的java成绩:");
int javaScore=input.nextInt();
System.out.print("请输入张浩的音乐成绩:");
int musicScore=input.nextInt();
if((javaScore>98 && musicScore>80)||(javaScore==100 && musicScore>70))
System.out.println("老师奖励张浩");
java.lang.Error: Unresolved compilation problem: java代码编译错误
原因: 代码没有编写完整. java里 花括号都是成对出现的,
解决办法: 最后加上3个反花括号
启发: 写代码要按照习惯进行良好的缩进, 这样就能清晰的看出来花括号是否有写全
修改完后的代码
import java.util.Scanner;public class 逻辑
/**
* @param args
*/
public static void main(String[] args)
Scanner input = new Scanner(System.in);
System.out.print("请输出张浩的java成绩:");
int javaScore = input.nextInt();
System.out.print("请输入张浩的音乐成绩:");
int musicScore = input.nextInt();
if ((javaScore > 98 && musicScore > 80) || (javaScore == 100 && musicScore > 70))
System.out.println("老师奖励张浩");
其他建议:
类名建议不要使用中文. 按照java命令的规范,最好是英文,并且每个单词的首字母大写.并且要有意义的名词.
比如 class Student //学生类
class QueryFrame // 查询窗口类
class MyUtils //我的工具类
所以类名建议从 逻辑 --修改成--> ScoreDemo 之类的
思考
int javaScore = input.nextInt(); 存在2个问题
问题一:
//这句代码.如果输入的是-56 或者 输入的是180 ,虽然不会出错,但是不符合常规.
//因为分数都是 [0~100]之间
问题二:
//这代码,就限制输入只能输入整数,如果是其他类型,比如输入abc 98.26
//那么就会抛出异常 java.util.InputMismatchException 并且导致程序退出
//如果有异常,程序就崩溃,那么这样的程序是不稳健的
完善版本
public class ScoreDemo
public static void main(String[] args)
Scanner input = new Scanner(System.in);
String name = "张浩";
int javaScore = getScore(name,"java", input);
int musicScore = getScore(name,"音乐", input);
System.out.println("录入成功!! "+name+" java成绩:"+javaScore+"\\t音乐成绩:"+musicScore);
if ((javaScore > 98 && musicScore > 80) || (javaScore == 100 && musicScore > 70))
System.out.println("老师奖励"+name);
//该方法 用于从控制台读取一个整数
// name 姓名
// course 课程
// input 扫描器,用于读取输入
private static int getScore(String name,String course, Scanner input)
int score;
while (true)
System.out.print("请输出"+name+"的" + course + "成绩:");
try
score = Integer.parseInt(input.nextLine());// 读取一行字符串转换为整数
if (score < 0 || score > 100) // 这个判断,主要用于判断该整数是否在合理的范围
System.out.println("Error: 请输入的范围在[0~100]");
continue;// 如果不在合理的范围,就再循环依次,等待输入
return score; // 如果进行到这里 ,那么说明代码没有异常,也在合理范围,也就可以跳出循环了
catch (Exception e) // 捕获到异常,说明,输入的是字母等.需要再次循环,提示用户输入
// e.printStackTrace();
System.out.println("Error: 请输入一个整数.");
continue;
参考技术A nextInt就已经限制了输入的类型是int整型,报错说你输错了追问
你好,那要怎么修改呢
追答你输入就只能输入整型数字了
也可以通过throws抛出这个错误
也可以通过try…catch来处理这个错误
我第一句话意思就是只能输整数了
如果你想搞个80.5,就把nextInt换成nextDouble
不好意思,看错了,你没把java包导入
在最开头写import java.util.*;
然后在方法第一行实例Scanner对象
具体写法是:
Scanner input = new Scanner(System.in)
后面在跟个“;”表示结束
追问你好,有微信?我还是不太懂。想请教下你
我已经按照你输入了
让后还是不可以
求大神指点,小弟刚开始学
追答看不清图片
微博:http://weibo.com/u/6465766503
以上是关于大神解答下:Exception in thread "main" java.lang.Error: Unresolved compilation problem:的主要内容,如果未能解决你的问题,请参考以下文章
nutch1.2 Exception in thread "main" java.io.IOException: Job failed!
ERROR Utils: Uncaught exception in thread stdout writer for python
Exception in thread “main“ java.lang.NoClassDefFoundError
execjs执行js代码报错:Exception in thread Thread-1
Exception in thread "HSQLDB Connection @429be9" java.lang.OutOfMemoryError: Java heap spac
Exception in thread "Thread-1" java.util.ConcurrentModificationException 异常原因和解决方法