前言
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
一、准备工具
1、JAVA版本
JDK 17于2021年9月14日正式发布(General-Availability Release)。 JDK 17将是大多数供应商的长期支持(LMS)版本。 上一个LTS版本是JDK 11。
2、IntelliJ IDEA
Intellij IDEA,是java语言开发的集成环境(也可用于其他语言),IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS整合、代码审查、 创新的GUI设计等方面的功能可以说是超常的。
IDEA是JetBrains公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。
IDEA的使用量增长迅猛,很多程序员开始使用。
下载链接:IntelliJ IDEA
二、程序运行
1、控制台版本
程序采用死循环让你可以执行多次输入和转换的操作,只有当输入为0才退出程序!
2、swing版本
通过获取你输入的月薪,计算出日薪(一个月上班22日)和年薪(一年算13个月工资)将结果显示出来。
三、源代码
1、控制台版本源码
import java.util.Scanner;
/**
* @author Huahua
* @version Huahua
*/
public class SalaryConversion {
public static void main(String[] args) {
conversion();//调用方法
}
public static void conversion(){//创建计算工资转换的方法
Scanner sc = new Scanner(System.in);
System.out.println("***薪资转换工具v1.0***");
System.out.println("输入0退出!");
while(true) {
System.out.print("请输入月薪(人民币):");
double salary = sc.nextDouble();
if(salary == 0)
break;
/*实现只输出两位小数*/
System.out.println("您的日薪: ¥" + String.format("%.2f", (salary) / 22));
System.out.println("您的年薪: ¥" + String.format("%.2f", (salary) * 13));
}
System.out.println("感谢使用!");
}
}
2、swing版本
package FAN.DA.WEI.day211028;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.util.Scanner;
/**
* @author Huahua
* @version 1.0
*/
public class SalaryTools {
public static void main(String[] args) {
JFrame jf = new JFrame("薪资转换工具1.0");
jf.setLayout(new FlowLayout(FlowLayout.LEFT));
jf.setBounds(460,300,350,250);
JLabel label1 = new JLabel("请输入您的月薪:");
JTextField salaryin = new JTextField("",20);
JLabel label2 = new JLabel("您的日薪:",JLabel.LEFT);
JTextArea textArea1 = new JTextArea("",2,25);
JLabel label3 = new JLabel("您的年薪:",JLabel.LEFT);
JTextArea textArea2 = new JTextArea("",2,25);
JButton button1 = new JButton("转换");
JButton button2 = new JButton("退出");
/*将组件添加进JFrame中*/
jf.add(label1);
jf.add(salaryin);
jf.add(label2);
jf.add(textArea1);
jf.add(label3);
jf.add(textArea2);
jf.add(button1);
jf.add(button2);
jf.setResizable(true);
button1.setSize(175,30);
button1.setVerticalAlignment(SwingConstants.CENTER);
jf.setVisible(true);
jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
button1.addActionListener(new AbstractAction() {
@Override
public void actionPerformed(ActionEvent e) {
double salary = Double.valueOf(salaryin.getText());//获取输入的月薪
textArea1.setText("¥" + String.format("%.2f", (salary) / 22));
textArea2.setText("¥" + String.format("%.2f", (salary) * 13));
}
});
button2.addActionListener(new AbstractAction() {
@Override
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
}
}
总结
这个薪资转换工具做起来相对简单,我的swing版本布局还是比较丑的,感兴趣的同学可以继续完善一下!