gpt4 book ai didi

java - 使用 switch 语句后变量不可用?

转载 作者:行者123 更新时间:2023-12-01 06:33:19 25 4
gpt4 key购买 nike

所以这是我的作业,对我来说这似乎是一个可变范围的问题。我尝试定义一个全局变量,但也许我做得不正确,因为这似乎也不能让我的编译器满意。我目前正在使用 SublimeText2 来编写代码,但它似乎没有太大帮助。我应该使用 Eclipse 或 Aptana Studio 等 IDE 吗?

// EmployeeBonus2.java - This program calculates an employee's yearly bonus.

import javax.swing.*;

public class EmployeeBonus2
{
public class Globals {
public double employeeBonus;
}
public static void main(String args[])
{
// Declare and initialize variables.
String employeeName;
String salaryString;
double employeeSalary;
String ratingString;
int employeeRating;
double employeeBonus;
final double BONUS_1 = .15;
final double BONUS_2 = .10;
final double BONUS_3 = .06;
final double NO_BONUS = 0.00;
final int RATING_1 = 1;
final int RATING_2 = 2;
final int RATING_3 = 3;

// This is the work done in the housekeeping() method
// Get user input.
employeeName = JOptionPane.showInputDialog("Enter employee's name: ");
salaryString = JOptionPane.showInputDialog("Enter employee's yearly salary: ");
ratingString = JOptionPane.showInputDialog("Enter employee's performance rating: ");

// Convert Strings to int or double.
employeeSalary = Double.parseDouble(salaryString);
employeeRating = Integer.parseInt(ratingString);


switch(employeeRating)
{
case 1: employeeBonus = (employeeSalary * BONUS_1);
break;
case 2: employeeBonus = (employeeSalary * BONUS_2);
break;
case 3: employeeBonus = (employeeSalary * BONUS_3);
break;
};


// This is the work done in the endOfJob() method
// Output.
System.out.println("Employee Name " + employeeName);
System.out.println("Employee Salary $" + employeeSalary);
System.out.println("Employee Rating " + employeeRating);
System.out.println("Employee Bonus $" + employeeBonus);

System.exit(0);
}
}

尝试编译时出现此错误。

EmployeeBonus2.java:54: variable employeeBonus might not have been initialized
System.out.println("Employee Bonus $" + employeeBonus);

最佳答案

如果没有任何 case 语句匹配,您需要一个 default case。

关于java - 使用 switch 语句后变量不可用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9581102/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com