1

我在尝试获取 If else if 语句中的变量时遇到错误,任何帮助都可以,谢谢这里是程序

public class Info {

    public static void main(String [] args){


        char f,F,c,C,h,H;

        Scanner input=new Scanner(System.in);
        System.out.print("Enter employee num");
        int e_num=input.nextInt();
        System.out.print("Enter employee first name");
        String e_fname=input.next();
        System.out.print("Enter employee surname");
        String e_sname=input.next();
        System.out.print("Enter employee code C or c,H or h and F or f");
        char e_code = input.next().charAt(0);



        if(e_code=='f' || e_code=='F') {
        System.out.print("Enter employee salary: ");
        double salary=input.nextDouble();
             e_code=calGrossF();
        }

            else if(e_code=='c'||e_code=='C'){
            e_code=calGrossC();
            }

            else if(e_code=='h'|| e_code=='H'){
                e_code=calGrossH();
            }





       }//end of main 

    public static void calGrossF(int f, int F){




    }//end of Gross(F)
    public static char calGrossC(){

    }// end of Gross(C)

    public static char calGrossH();{
4

3 回答 3

1

您的代码当前有几个语法错误。

  • 您的方法calGrossC()并且必须根据声明calGrossH()返回 a 。char目前他们什么都不返回。
  • 此代码也e_code=calGrossF();期望calGrossF()返回 a char。目前它被宣布返回void
  • 您没有导入该类Scanner(可能只是不在代码示例中)。
  • callGross()需要两个int参数。你什么也没给e_code=calGrossF();

Java 编译器会指出所有这些错误。只需一一查看您的错误消息并相应地更正代码。

不是真正的语法,但想在这里注意它:

  • 您在开头 ( ) 声明了一堆变量f,F,c,C,h,H,但从不使用它们。

这是一个更正的代码(在几个场合只是占位符):

import java.util.Scanner;

public class Info {
  public static void main(String [] args){


    Scanner input=new Scanner(System.in);
    System.out.print("Enter employee num");
    int e_num=input.nextInt();
    System.out.print("Enter employee first name");
    String e_fname=input.next();
    System.out.print("Enter employee surname");
    String e_sname=input.next();
    System.out.print("Enter employee code C or c,H or h and F or f");
    char e_code = input.next().charAt(0);

    if(e_code=='f' || e_code=='F') {
      System.out.print("Enter employee salary: ");
      double salary=input.nextDouble();
      e_code=calGrossF( 0, 0 );
    }

    else if(e_code=='c'||e_code=='C'){
      e_code=calGrossC();
    }

    else if(e_code=='h'|| e_code=='H'){
      e_code=calGrossH();
    }
  }//end of main 

  public static char calGrossF(int f, int F){
      return 'F';
  }//end of Gross(F)

  public static char calGrossC(){
      return 'C';
  }// end of Gross(C)

  public static char calGrossH(){
      return 'H';
  }
}
于 2012-12-13T15:11:26.293 回答
0
//Method Statement
public char calGrossF(String name, int emp_num, double gross_sal, double fix_sal, double   
                      ded, double net_pay, double highest_sal, double lowest_sal, 
                      char ch)
{ 
    //return statement
    return calGrossF(name, emp_num, gross_sal, fix_sal, ded, net_pay, highest_sal, lowest_sal, ch);
}
于 2013-12-09T15:58:52.293 回答
0

首先,您将 public static void calGrossF(int f, int F) 作为“void”
,并且您将其值存储在 e_code 中
,并且在调用中也没有传递任何参数

于 2012-12-13T15:07:40.157 回答