包括获取时间
GUI_从输入对话框中获取输入
示例代码:
package Chapter02;
import java.util.Scanner;
import javax.swing.JOptionPane;
/**
* chapter02_example
* @author gt.liu
* time 2016年9月5日 下午4:15:20
* java_basis Chapter02 example01.java
*/
public class example01 {
public static void main(String[] args) {
//circlearea01();
//circlearea02();
//DataTypeandValue();
//wenduzhuanhuan();
//shijianxianshi();
//xiaoshudian();
//lilvyuezhifuedu();
//charleixing();
//zhengqianlingdui();
//stringleixing();
//guishuru();
lilvyuezhifueduGUI();
}
public static void circlearea01(){
double PI = 3.14;
double radius;
double area;
radius = 10;
area = PI * radius * radius;
System.out.println("radius = " + radius + "\tcircle_area = " + area);
}
public static void circlearea02(){
System.out.print("Enter a number: ");
Scanner input = new Scanner(System.in);
double radius1 = input.nextDouble();
System.out.println("radius1 = " + radius1);
double area1 = 3.14 * radius1 * radius1;
System.out.println("area1 = " + area1);
System.out.print("Enter a number: ");
double radius2 = input.nextDouble();
System.out.println("radius2 = " + radius2);
double area2 = 3.14 * radius2 * radius2;
System.out.println("area2 = " + area2);
input.close();
}
public static void DataTypeandValue() {
final int xx;
xx = 10;
System.out.println("xx = " + xx);
System.out.println(Integer.MAX_VALUE);
System.out.println(Integer.MIN_VALUE);
System.out.println(Double.MAX_VALUE);
System.out.println("进制");
System.out.println(011);//八进制
System.out.println(0xffff);//十六进制
}
public static void wenduzhuanhuan(){
Scanner input = new Scanner(System.in);
System.out.print("Enter a number: ");
double huashiwendu = input.nextDouble();
double sheshiwendu = (5/9.0) * (huashiwendu - 32);//注意,两个整数相除的商为整数
System.out.println("huashiwendu = " + huashiwendu + "\tsheshiwendu = " + sheshiwendu);
input.close();
}
public static void shijianxianshi() {
System.out.println(System.currentTimeMillis());
long totalmilliseconds = System.currentTimeMillis();// 毫秒数
long totalseconds = totalmilliseconds / 1000;// 秒数
long currentseconds = totalseconds % 60;// 当前秒数
long totalminutes = totalseconds / 60;// 分钟数
long currentminutes = totalminutes % 60;// 当前分钟数
long totalhours = totalminutes / 60;// 小时数
long currenthours = totalhours % 24 + 8;// 当前小时数,+8的意思是北京时间与GMT时间有8个小时的时差
System.out.println("current time: " + currenthours + ":" + currentminutes + ":" + currentseconds);
}
public static void xiaoshudian() {
Scanner input = new Scanner(System.in);
System.out.print("Enter a number: ");
double data = input.nextDouble();
double tax = data * 0.06;
System.out.println("保留两位小数的tax = " + (int) (tax * 100) / 100.0);
input.close();
}
public static void lilvyuezhifuedu() {
Scanner input = new Scanner(System.in);
System.out.print("输入贷款总额:");
double daikuanzonge = input.nextDouble();
System.out.print("输入年利率:");
double nianlilv = input.nextDouble();
System.out.print("输入年限:");
double nianshu = input.nextDouble();
double yuelilv = nianlilv / 1200;// 计算月利率
double fenzi = daikuanzonge * yuelilv;
double jianshufenmu = Math.pow((1 + yuelilv), (nianshu * 12));
double fenmu = 1 - (1 / jianshufenmu);
double yuezhifue = fenzi / fenmu;
System.out.println("月支付额:" + (int) (yuezhifue * 100) / 100.0);
System.out.println("总支付额:" + (int) (yuezhifue * nianshu * 12 * 100) / 100.0);
input.close();
}
public static void charleixing() {
char leter1 = 'a';
char leter2 = 'd';
System.out.println(leter1 + "\t" + leter2);
System.out.println(++leter1);// 可以自加
char leter3 = '\u6b22';
char leter4 = '\u8fce';
System.out.println(leter3 + "" + leter4);
System.out.println(++leter3);// 可以自加自减,得到后面或者前面的unicode字符
System.out.println('u');
JOptionPane.showMessageDialog(null, "内容", "标题", JOptionPane.INFORMATION_MESSAGE);
}
public static void zhengqianlingdui() {
// 整钱零兑
Scanner input = new Scanner(System.in);
System.out.print("money: ");
double allmoney = input.nextDouble();
int allmoneyfen = (int) (allmoney * 100);
int yuandanwei = allmoneyfen / 100;// 单位元
allmoneyfen %= 100;
int erjiaowufen = allmoneyfen / 25;// 单位两角五分
allmoneyfen %= 25;
int yijiao = allmoneyfen / 10;// 单位一角
allmoneyfen %= 10;
int wufen = allmoneyfen / 5;// 单位五分
allmoneyfen %= 5;
int yifen = allmoneyfen;// 单位一分
System.out.println("总钱数:" + allmoney);
System.out.println("元:" + yuandanwei);
System.out.println("两角五分:" + erjiaowufen);
System.out.println("一角:" + yijiao);
System.out.println("五分:" + wufen);
System.out.println("一分:" + yifen);
input.close();
}
public static void stringleixing(){
String message = "string lei xing";
System.out.println(message);
String s1 = "chapter";
System.out.println(s1 + 2);
s1 += " two";
System.out.println(s1);
System.out.print("Enter String s2 nextline() : ");
Scanner input = new Scanner(System.in);
String s2 = input.nextLine();
System.out.print("Enter String s3 next() : ");
String s3 = input.next();
System.out.println("s2 = " + s2);
System.out.println("s3 = " + s3);
System.out.println(s2 + s3);
input.close();
String s4 = JOptionPane.showInputDialog(null,"内容是", "标题", JOptionPane.QUESTION_MESSAGE);
System.out.println("s4 = " + s4);
//将字符串转换为数字
//int shuzi = Integer.parseInt(s2);
//System.out.println("shuzi" + shuzi);
}
public static void guishuru(){
System.out.println("gui 从输入对话框获取输入");
String s = JOptionPane.showInputDialog(null,"输入String","标题",JOptionPane.QUESTION_MESSAGE);
System.out.println("s = " + s);
int xx = Integer.parseInt(s);
System.out.println("xx = " + xx);
String output = "String type s = " + s + "\nint type xx = " +xx;
JOptionPane.showMessageDialog(null, output);
}
public static void lilvyuezhifueduGUI() {
String nianlilvString = JOptionPane.showInputDialog(null, "年利率,例如8.25", "输入年利率", JOptionPane.QUESTION_MESSAGE);
double nianlilv = Double.parseDouble(nianlilvString);// 年利率
double yuelilv = nianlilv / 1200;// 月利率
String nianshuString = JOptionPane.showInputDialog(null, "年数,例如5", "输入年数", JOptionPane.QUESTION_MESSAGE);
int nianshu = Integer.parseInt(nianshuString);// 年数
String daikuaneString = JOptionPane.showInputDialog(null, "贷款额,例如12000", "贷款额", JOptionPane.QUESTION_MESSAGE);
double daikuane = Double.parseDouble(daikuaneString);// 贷款额
double fenzi = daikuane * yuelilv;// 求月支付额时的分子
double fenbu1 = Math.pow((1 + yuelilv), (nianshu * 12));
double fenmu = 1 - 1 / (fenbu1);
double yuezhifue = fenzi / fenmu;// 月支付额
double zongzhifue = yuezhifue * nianshu * 12;// 总支付额
// 为保留两位小数
yuezhifue = (int) (yuezhifue * 100) / 100.0;
zongzhifue = (int) (zongzhifue * 100) / 100.0;
// 输出
String output = "贷款总额:" + daikuane + "\n年限:" + nianshu + "\n年利率:" + nianlilv + "\n*********\n" + "月支付额:"
+ yuezhifue + "\n总支付额:" + zongzhifue;
JOptionPane.showMessageDialog(null, output, "计算输出", JOptionPane.INFORMATION_MESSAGE);
}
}