JAVA 7-1 sdut-sel-4 计算工资数 某公司标准上班时间是120小时,每小时工钱是20元, 如果上班时间超出了120小时,超出部分每小时按2倍工资发放。请编写程序计算员工月工资。 输入格式: 输入一个员工的工作小时数。 输出格式: 输出这个员工的工资数。如果输入的工作小时数<=0,则输出0。
时间: 2024-02-17 14:02:21 浏览: 121
好的,以下是Java代码实现:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int hours = sc.nextInt();
sc.close();
if (hours <= 0) {
System.out.println(0);
return;
}
int salary;
if (hours <= 120) {
salary = hours * 20;
} else {
salary = 120 * 20 + (hours - 120) * 40;
}
System.out.println(salary);
}
}
```
首先读入员工的工作小时数,如果小于等于0,则输出0。
如果工作小时数小于等于120,那么按照每小时20元的标准工资计算;否则,前120小时按照20元计算,超出部分按照40元计算。最后输出计算得到的工资数。
相关问题
7-1 sdut-sel-4 计算工资数 分数 15 作者 周雪芹 单位 山东理工大学 某公司标准上班时间是120小时,每小时工钱是20元, 如果上班时间超出了120小时,超出部分每小时按2倍工资发放。请编写程序计算员工月工资。 输入格式: 输入一个员工的工作小时数。 输出格式: 输出这个员工的工资数。如果输入的工作小时数<=0,则输出0。用Java
好的,下面是Java代码实现:
```java
import java.util.Scanner;
public class SalaryCalculator {
public static void main(String[] args) {
final int STANDARD_HOURS = 120; // 标准上班时间,单位为小时
final int HOURLY_WAGE = 20; // 每小时工钱,单位为元
Scanner scanner = new Scanner(System.in);
System.out.print("请输入本月实际上班时间(单位:小时):");
int actualHours = scanner.nextInt();
scanner.close();
int salary; // 员工月工资
if (actualHours <= 0) {
salary = 0;
} else if (actualHours <= STANDARD_HOURS) {
salary = actualHours * HOURLY_WAGE;
} else {
int overtimeHours = actualHours - STANDARD_HOURS;
salary = STANDARD_HOURS * HOURLY_WAGE + overtimeHours * HOURLY_WAGE * 2;
}
System.out.println("员工月工资为:" + salary + "元");
}
}
```
代码解析:
1. 与上一个问题的代码基本相同,唯一的区别是增加了对输入小时数小于等于0的特判,此时输出员工月工资为0。
注意:
1. 在实际应用中,可能还需要增加对输入的合法性判断,例如输入非数字或负数等情况;
2. 可以使用 `System.out.printf()` 方法格式化输出,使输出结果更加美观。
7-1-2 sdut-String-4 去除字符串中数字字符逆序输出
"7-1-2 sdut-String-4" 这个题目可能是在某个编程挑战或者课程中提到的一个小任务。它要求你在 Java 中处理字符串,首先去除其中的所有数字字符,然后将剩余的非数字字符进行逆序输出。
以下是一个简单的 Java 解决方案:
```java
public class Main {
public static void main(String[] args) {
String input = "Hello123World456";
String result = reverseNonDigit(input);
System.out.println(result); // 输出 HelloWorld
}
public static String reverseNonDigit(String str) {
// 使用正则表达式去掉所有的数字字符
String nonDigits = str.replaceAll("\\d", "");
// 对剩余的字符进行逆序
return new StringBuilder(nonDigits).reverse().toString();
}
}
```
在这个例子中,`replaceAll("\\d", "")` 会替换掉所有数字字符(`\d` 匹配任意数字),然后 `StringBuilder.reverse()` 可以方便地对字符串进行逆序操作。
阅读全文