问题描述
- java程序编译时候出现了一些问题
- import java.util.Scanner;
import java.util.Vector;
public class testlq{public static void main(String[] args){ byte m; Engineer engineers[]=new Engineer[10]; Engineer en=null; Vector vector=new Vector(); Scanner input=new Scanner(System.in); while(true){ menu(); m=input.nextByte(); switch(m){ case 1: insert(); break; case 2: break; case 3: break; case 4: break; case 5: sal(); break; case 6: break; case 7: break; case 8: break; case 9: break; case 10: break; case 0: break; } }public void insert(){ Engineer en=new Engineer(); Scanner input=new Scanner(System.in); System.out.println(""请输入工程师姓名:""); en.setName(input.next()); System.out.println(""请输入工程师年龄:""); en.setAge(input.nextShort()); System.out.println(""请输入工程师体重:""); en.setWight(input.nextFloat()); vector.add(en); } public void menu(){ System.out.println(""--------------------------------""); System.out.println(""| java工程师管理系统 |""); System.out.println(""--------------------------------""); System.out.println(""1.输入java工程师资料""); System.out.println(""2.删除指定java工程师资料""); System.out.println(""3.查询java工程师资料""); System.out.println(""4.修改java工程师的月薪""); System.out.println(""5.计算java工程师的月薪""); System.out.println(""6.保存新添加的工程师资料""); System.out.println(""7.对java工程师信息排序(1编号升序,2姓名升序)""); System.out.println(""8.输出所有java工程师信息""); System.out.println(""9.清空所有java工程师数据""); System.out.println(""10.打印java工程师数据报表""); System.out.println(""11.从文件重新导入java工程师数据""); System.out.println(""0.结束""); System.out.print(""请输入您的选择:""); } public void sal(){ double endSalary=0basSalary=0; //底薪 月薪 int comResult=0workDay=0; //月工作完成分数 double insurance=0; //保险 Scanner input=new Scanner(System.in); System.out.print(""请输入java工程师底薪:""); endSalary=input.nextInt(); System.out.print(""请输入java工程师月工作完成分数(最小值0,最大值150):""); comResult=input.nextInt(); System.out.print(""请输入java工程师月实际工作天数:""); workDay=input.nextInt(); System.out.print(""请输入java工程师月应扣保险数:""); insurance=input.nextInt(); basSalary=endSalary+comResult*workDay-insurance; System.out.println(""java工程师的月薪是:""+basSalary); }
}
}class Engineer {
String name;
short age;
float wight;public String getName() { return name;}public void setName(String name) { this.name = name;}public short getAge() { return age;}public void setAge(short age) { this.age = age;}public float getWight() { return wight;}public void setWight(float wight) { this.wight = wight;}
}
这段程序在编译时候出现错误,但是找了半天找不到所以来贵论坛找下大神解答下..
---------- JAVAC ----------
testlq.java:47: 错误: 非法的表达式开始
public void insert(){
^
testlq.java:47: 错误: 非法的表达式开始
public void insert(){
^
testlq.java:47: 错误: 需要';'
public void insert(){
^
testlq.java:60: 错误: 非法的表达式开始
public void menu(){
^
testlq.java:60: 错误: 非法的表达式开始
public void menu(){
^
testlq.java:60: 错误: 需要';'
public void menu(){
^
testlq.java:78: 错误: 非法的表达式开始
public void sal(){
^
testlq.java:78: 错误: 非法的表达式开始
public void sal(){
^
testlq.java:78: 错误: 需要';'
public void sal(){
^
9 个错误
解决方案
......代码问题真多
问题1:你肯定是C搞多了才把所有的方法给放在main方法中了
问题2:你把insert()放在main中是不可以调用vector
....不多说了你对照我改正的代码找错吧
testlq.java:
import java.util.Scanner;
import java.util.Vector;
public class testlq {
private static Vector vector;public static void main(String[] args){byte m;Engineer engineers[]=new Engineer[10];Engineer en=null;Scanner input=new Scanner(System.in); while(true){ menu(); m=input.nextByte(); switch(m){ case 1: insert(); break; case 2: break; case 3: break; case 4: break; case 5: sal(); break; case 6: break; case 7: break; case 8: break; case 9: break; case 10: break; case 0: break; } }}
public static void insert(){
Engineer en=new Engineer();
Scanner input=new Scanner(System.in);
System.out.println(""请输入工程师姓名:"");
en.setName(input.next());
System.out.println(""请输入工程师年龄:"");
en.setAge(input.nextShort());
System.out.println(""请输入工程师体重:"");
en.setWight(input.nextFloat());
vector.add(en);
}
public static void menu(){
System.out.println(""--------------------------------"");
System.out.println(""| java工程师管理系统 |"");
System.out.println(""--------------------------------"");
System.out.println(""1.输入java工程师资料"");
System.out.println(""2.删除指定java工程师资料"");
System.out.println(""3.查询java工程师资料"");
System.out.println(""4.修改java工程师的月薪"");
System.out.println(""5.计算java工程师的月薪"");
System.out.println(""6.保存新添加的工程师资料"");
System.out.println(""7.对java工程师信息排序(1编号升序,2姓名升序)"");
System.out.println(""8.输出所有java工程师信息"");
System.out.println(""9.清空所有java工程师数据"");
System.out.println(""10.打印java工程师数据报表"");
System.out.println(""11.从文件重新导入java工程师数据"");
System.out.println(""0.结束"");
System.out.print(""请输入您的选择:"");
}
public static void sal(){
double endSalary=0basSalary=0; //底薪 月薪
int comResult=0workDay=0; //月工作完成分数
double insurance=0; //保险
Scanner input=new Scanner(System.in);
System.out.print(""请输入java工程师底薪:"");
endSalary=input.nextInt();
System.out.print(""请输入java工程师月工作完成分数(最小值0,最大值150):"");
comResult=input.nextInt();
System.out.print(""请输入java工程师月实际工作天数:"");
workDay=input.nextInt();
System.out.print(""请输入java工程师月应扣保险数:"");
insurance=input.nextInt();
basSalary=endSalary+comResult*workDay-insurance;
System.out.println(""java工程师的月薪是:""+basSalary);
}
}
Engineer.java:
public class Engineer {
String name;
short age;
float wight;
public String getName() { return name;}public void setName(String name) { this.name = name;}public short getAge() { return age;}public void setAge(short age) { this.age = age;}public float getWight() { return wight;}public void setWight(float wight) { this.wight = wight;}
}