2 small171861820 small171861820 于 2014.05.26 22:18 提问

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=0,basSalary=0; //底薪 月薪
   int comResult=0,workDay=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个回答

cs627565157
cs627565157   2014.05.27 22:47

......代码问题真多
问题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=0,basSalary=0; //底薪 月薪
int comResult=0,workDay=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;
}

}

Csdn user default icon
上传中...
上传图片
插入图片