small171861820 2014-05-26 14:18 采纳率: 0%
浏览 1915

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条回答

  • cs小斯cs 2014-05-27 14: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;
    }
    

    }

    评论

报告相同问题?

悬赏问题

  • ¥15 一道python难题
  • ¥15 用matlab 设计一个不动点迭代法求解非线性方程组的代码
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
  • ¥15 教务系统账号被盗号如何追溯设备
  • ¥20 delta降尺度方法,未来数据怎么降尺度