java代码-java程序编译时候出现了一些问题

问题描述

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;}

}

时间: 2024-09-09 06:48:02

java代码-java程序编译时候出现了一些问题的相关文章

tomcat下的jsp文件里 嵌入JAVA代码 如今想要修改JAVA代码 该如何编译?

问题描述 tomcat下的jsp文件里嵌入JAVA代码如今想要修改jsp上面的一个list里的东西JAVA代码该如何编译?源代码已丢失只有服务器tomcat下的JSP和.class文件. 解决方案 解决方案二:该回复于2011-04-28 08:39:06被版主删除解决方案三:list里存的估计也就是javabean吧,要是这样的话反编译下class类,自己模仿着再重写下吧.编译,替换原来的文件,试试呗先解决方案四:不是很清楚

诊断Java代码: Java编程中的断言和时态逻辑

虽然传统断言可以增加对 Java 代码执行的检查次数,但有许多检查不能用它们来执行.弥补这一缺陷的方法是使用"时态逻辑",它是一种用于描述程序状态如何随时间而更改的形式体系.在本文中,Eric Allen 将讨论断言,介绍时态逻辑并描述用于处理程序中时态逻辑断言的工具 (下一篇文章将检查以前的错误模式和时态逻辑的应用程序). 我们大家同意对 Java 代码检查得越多就越好,我们检查了断言在测试新的和改进的编程中的用法.虽然传统断言可以增加执行的检查次数,但有许多检查不能用它们来执行.

你的Java代码对JIT编译友好么?(转)

JIT编译器是Java虚拟机(以下简称JVM)中效率最高并且最重要的组成部分之一.但是很多的程序并没有充分利用JIT的高性能优化能力,很多开发者甚至也并不清楚他们的程序有效利用JIT的程度. 在本文中,我们将介绍一些简单的方法来验证你的程序是否对JIT友好.这里我们并不打算覆盖诸如JIT编译器工作原理这些细节.只是提供一些简单基础的检测和方法来帮助你的代码对JIT友好,进而得到优化. JIT编译的关键一点就是JVM会自动地监控正在被解释器执行的方法.一旦某个方法被视为频繁调用,这个方法就会被标记

你的 Java 代码对 JIT 编译友好么?

JIT编译器是Java虚拟机(以下简称JVM)中效率最高并且最重要的组成部分之一.但是很多的程序并没有充分利用JIT的高性能优化能力,很多开发者甚至也并不清楚他们的程序有效利用JIT的程度. 在本文中,我们将介绍一些简单的方法来验证你的程序是否对JIT友好.这里我们并不打算覆盖诸如JIT编译器工作原理这些细节.只是提供一些简单基础的检测和方法来帮助你的代码对JIT友好,进而得到优化. JIT编译的关键一点就是JVM会自动地监控正在被解释器执行的方法.一旦某个方法被视为频繁调用,这个方法就会被标记

java代码-java初学者提问 在类中 用static成员变量实例化自身类 程序的执行顺序过程是怎样的?

问题描述 java初学者提问 在类中 用static成员变量实例化自身类 程序的执行顺序过程是怎样的? class Demo03 { public static void main(String[] args) { A.show(); } } class A { //构造方法 A(){ System.out.println("构造方法执行"); System.out.println(b); System.out.println(c); } static A a=new A(); sta

java代码-java的查词程序的编辑

问题描述 java的查词程序的编辑 用java编写一到两个页面(登录页面为可选项),打开一个文本文件(有英文有中文的一段文字),找出其中的单词,排序输出(按字母顺序排序).其他的自由发挥,主要就是这些要求--这就是相当于编辑一个查词程序--

java代码-java程序 求大神指导

问题描述 java程序 求大神指导 1.编写程序删除"C:Documents and SettingsAdministratorLocal SettingsTemporary Internet Files" 和"C:WINDOWSDownloaded Program Files"下所有的TMP文件和JS文件:

java代码-利用反编译工具出现的问题

问题描述 利用反编译工具出现的问题 我用反编译工具将.class文件编译成.java文件后,用cmd再次编译.java文件总是会出现找不到符号的问题,不知道如何解决,请教各位大神帮我解决一下.

java代码-java关于变量初始值的问题

问题描述 java关于变量初始值的问题 int x; System.out.println(x); 这段会报错,而如果是以下的代码却不会报错 class A{ int x; int getX(){ return x; } void print(){ System.out.println(x); } } 原因在哪 解决方案 int x只是声明,java规定局部变量使用前必须初始化,否则编译不通过.而第二个是类内部的成员变量,编译器自动初始化成员变量 解决方案二: 说法同上,java编译器初始化ja