1.计算1+2+3+4+5+6+7+8+9的值
1 package com.neusoft.chapter1;点击+展开代码
2 /**
3 * @author zhao-chj
4 *题:计算1+2+3+4+5+6+7+8+9的值
5 */
6 public class FirstPrograme {
7 public static void main(String[] args) {
8 //方法1
9 int input = 1+2+3+4+5+6+7+8+9;
10 System.out.println("1+2+3+4+5+6+7+8+9="+input);
11 //方法2
12 int sum=0;
13 for (int i = 1; i <=9; i++) {
14 sum=sum+i;
15 }
16 System.out.println("1+2+3+4+5+6+7+8+9="+sum);
17 }
18 }
2.计算一元二次方程的根
1 package com.neusoft.chapter1;点击+展开代码
2 /**
3 * @author zhao-chj
4 *题:计算一元二次方程的根
5 *思路:根据公式将数值带入即可
6 */
7 public class MathCount {
8 public static void main(String[] args) {
9 double x = (44.5*0.55-50.2*5.9)/(3.4*0.55-50.2*2.1);
10 double y = (3.4*5.9-44.5*2.1)/(3.4*0.55-50.2*2.1);
11 System.out.println("x="+String.format("%3.3f", x));
12 System.out.println("y="+String.format("%3.3f", y));
13 }
14 }
3.计算平均值
1 package com.neusoft.chapter2;点击+展开代码
2 import java.util.Scanner;
3 /**
4 * @author zhao-chj
5 *求平均值
6 *1.从键盘上输入3个数
7 *2.将三个数相加,其和为sum
8 *3.求平均值 sum/3
9 *4.输出平均值
10 */
11 public class ComputeAaverage {
12 public static void main(String[] args) {
13 getAverage();
14 }
15 private static void getAverage() {
16 //1.从键盘上输入3个数
17 Scanner sc = new Scanner(System.in);
18 System.out.println("请输入第1个数");
19 double number1 = sc.nextInt();
20 System.out.println("请输入第2个数");
21 double number2 = sc.nextInt();
22 System.out.println("请输入第3个数");
23 double number3 = sc.nextInt();
24 //2.将三个数相加,其和为sum
25 double sum = number1+number2+number3;
26 //3.求平均值 sum/3
27 double average=sum/3;
28 //4.输出平均值
29 System.out.println("这三个数的平均值为:"+average);
30 }
31 }
4.计算圆的面积
1 package com.neusoft.chapter2;点击+展开代码
2 import java.lang.Math;
3 import java.util.Scanner;
4 /**
5 * @author zhao-chj
6 *思想:求圆的面积
7 *1.读入半径
8 *2.根据圆的面积公式完成求解面积
9 *3.输出圆的面积
10 */
11 public class ComputeArea {
12 public static void main(String[] args) {
13 //getArea1();
14 getArea2();
15 }
16 private static void getArea2() {
17 //0.使用常量定义PI
18 final double PI = 3.14;
19 //1.读入半径
20 System.out.println("请输入您想输入的半径数值");
21 Scanner sc = new Scanner(System.in);
22 double radius = sc.nextDouble();
23 //2.根据圆的面积公式完成求解面积
24 double area=PI*radius*radius;
25 //3.输出圆的面积
26 System.out.println("圆的面积是:"+String.format("%3.2f", area));
27 }
28
29 private static void getArea1() {
30 //1.读入半径
31 System.out.println("请输入您想输入的半径数值");
32 Scanner sc = new Scanner(System.in);
33 double radius = sc.nextDouble();
34 //2.根据圆的面积公式完成求解面积
35 double area=Math.PI*radius*radius;
36 //3.输出圆的面积
37 System.out.println("圆的面积是:"+String.format("%3.2f", area));
38 }
39 }
4.1圆柱的体积
1 package com.neusoft.chapter2.exercise;点击+展开代码
2
3 import java.util.Scanner;
4
5 /**
6 * @author zhao-chj
7 *题:求圆柱的体积
8 *1.读入圆柱体的半径和高
9 *2.使用圆柱体体积公式计算体积
10 *面积=半径*半径*p 体积=面积*高
11 *3.输出圆柱体体积
12 */
13 public class Exercise02 {
14 public static void main(String[] args) {
15 //1.读入圆柱体的半径和高
16 System.out.println("请您输入圆柱体的半径");
17 double radius = new Scanner(System.in).nextDouble();
18 System.out.println("请您输入圆柱体的高");
19 double height=new Scanner(System.in).nextDouble();
20 //2.使用圆柱体体积公式计算体积
21 double area=radius*radius*Math.PI;
22 double volume=area*height;
23 //3.输出圆柱体体积
24 System.out.println("圆柱体的面积为:"+area);
25 System.out.println("圆柱体的体积为:"+volume);
26 }
27 }
5.输入一个秒数,请输出其分钟数值和秒
1 package com.neusoft.chapter2;点击+展开代码
2 import java.util.Scanner;
3 /**
4 * @author zhao-chj
5 *题目:输入一个秒数,请输出其分钟数值和秒,如500s,就是8分钟20s
6 *1.从键盘输入秒数
7 *2.将秒数划分为分钟数和剩余的秒数
8 *3.输出分钟数和秒数
9 */
10 public class DisplayTime {
11 public static void main(String[] args) {
12 //1.从键盘输入秒数
13 Scanner sc = new Scanner(System.in);
14 System.out.println("请输入一个秒数");
15 int seconds = sc.nextInt();
16 //2.将秒数划分为分钟数和剩余的秒数
17 int minutes = seconds/60;
18 int remainSeconds= seconds%60;
19 //3.输出分钟数和秒数
20 System.err.println(
21 seconds+"秒为:"+minutes+"分钟"+remainSeconds+"秒");
22 }
23 }
6.华氏度转摄氏度
1 package com.neusoft.chapter2;点击+展开代码
2 import java.util.Scanner;
3 /**
4 * @author zhao-chj
5 *题目:华氏度转摄氏度
6 *1.输入华氏度的数
7 *2.查找公式转化为摄氏度
8 * Celsius=(5/9)(fahrengeit-32)
9 *3.输出摄氏度的值
10 */
11 public class FahrenheitToCelsius {
12 public static void main(String[] args) {
13 //1.输入华氏度的数
14 System.out.println("请输入华氏度的值");
15 Scanner sc= new Scanner(System.in);
16 double fahrenheit = sc.nextDouble();
17 //2.查找并应用公式转化为摄氏度
18 double Celsius=(5.0/9)*(fahrenheit-32);
19 //3.输出摄氏度的值
20 String remianCelsius = String.format("%3.2f", Celsius);
21 System.out.println(fahrenheit+
22 "华氏度="+remianCelsius+"摄氏度");
23 }
24 }
6.1摄氏度转华氏度
1 package com.neusoft.chapter2.exercise;点击+展开代码
2
3 import java.util.Scanner;
4
5 /**
6 * @author zhao-chj
7 *题:从控制台读入double型摄氏温度,然后将其转化为华氏温度,并显示结果。
8 *公式如下:华氏温度=(9/5)*摄氏温度+32
9 *注意:Java中9/5=1,9.0/5=1.8
10 *1.提示用户输入摄氏温度的值
11 *2.利用公式将输入的摄氏度转化为华氏度
12 *3.输出结果
13 */
14 public class Exercise01 {
15 public static void main(String[] args) {
16 //1.提示用户输入摄氏温度的值
17 System.out.println("请您输入需要转化的摄氏度的值~");
18 //Scanner input = new Scanner(System.in);
19 //double celsius= input.nextDouble();
20 double celsius = new Scanner(System.in).nextDouble();
21 //2.利用公式将输入的摄氏度转化为华氏度
22 double fahrenheit=(9.0/5)*celsius+32;
23 //3.输出结果
24 System.out.println(celsius+"摄氏度转化为华氏度是:"+fahrenheit);
25 }
26 }
7.根据格林威治时间显示当前时间
1 package com.neusoft.chapter2;点击+展开代码
2 /**
3 * @author zhao-chj
4 *题目:显示当前时间
5 *分析:了解GMT格林威治时间的构成,转化为格式为:小时:分钟:秒的格式
6 *1.java中的System类提供了GMT时间的表示,是一个从1970年1月1日
7 *00:00:00开始到当前时刻的毫秒数,该时间是unix的时间戳。
8 *2.通过System.currentTimeMiillis()方法获取从1970年1月1日
9 *00:00:00开始到现在的毫秒数,记为totalMilliseconds。
10 *3.总毫秒数totalMilliseconds除以1000得到总秒数totalseconds
11 *4.总秒数totalseconds%60得到当前秒数
12 *5.总秒数totalseconds/60得到总的分钟数
13 *6.总的分钟数totalminutes/60得到总的小时数totalhours
14 *7.总的分钟数totalminutes%60得到当前的分钟数
15 *8.总的小时数totalhours%24得到当前的小时数
16 *9.结果的输出
17 */
18 public class ShowCurrent {
19 public static void main(String[] args) {
20 //*2.通过System.currentTimeMiillis()方法获取从1970年1月1日
21 //*00:00:00开始到现在的毫秒数,记为totalMilliseconds。
22 long currentTimeMillis = System.currentTimeMillis();
23 //*3.总毫秒数totalMilliseconds除以1000得到总秒数totalseconds
24 long totalseconds = currentTimeMillis/1000;
25 //*4.总秒数totalseconds%60得到当前秒数
26 long currentSeconds = totalseconds%60;
27 //*5.总秒数totalseconds/60得到总的分钟数
28 long totalminutes = totalseconds/60;
29 //*6.总的分钟数totalminutes/60得到总的小时数totalhours
30 long totalhours = totalminutes/60;
31 //*7.总的分钟数totalminutes%60得到当前的分钟数
32 long currentMinutes = totalminutes%60;
33 //*8.总的小时数totalhours%24得到当前的小时数
34 //格林尼治时间与北京时间相差八小时,也就是晚八小时
35 long currentHours= totalhours%24+8;
36 System.out.println("当前时间为:"+currentHours
37 +":"+currentMinutes+":"+currentSeconds+"GMT"
38 );
39 }
40 }
按照软件开发的过程解决一下业务问题:
8.整钱兑零业务
1 package com.neusoft.chapter2;点击+展开代码-方式1解决兑零业务员
2 import java.util.Scanner;
3 /**
4 * @author zhao-chj
5 * 整钱兑零业务
6 * 1.需求和系统分析
7 * 1.1将给定的钱分成比给定钱面值小的之和
8 * 1.2输入为:人民币的元和角表示的总钱数(double型)
9 * 1.3输出为:一个清单列出和总钱数等价的元、角、分的数目
10 * 2.系统设计
11 * 2.1提示用户输入十进制的数作为总钱数,例如11.56
12 * 2.2将该钱数转化为1分的个数(例如11.56转化为1156)
13 * 2.3通过将1分的个数除以10,求出1角的个数,通过1分的个数除以
14 * 100后取得的余数是剩余1分钱的个数。
15 * 2.4通过将1分的个数除以50,求出5角的个数,通过1分的个数除以
16 * 100后取得的余数是剩余1分钱的个数。
17 * 2.5通过将剩余的1分钱的个数除以500,求出的数5元的个数
18 * 2.6通过将剩余的1分钱的个数除以1000,求出的数10元的个数
19 * 2.7通过将剩余的1分钱的个数除以2000,求出的数20元的个数
20 * 2.8通过将剩余的1分钱的个数除以5000,求出的数50元的个数
21 */
22 public class ComputeChange {
23 public static void main(String[] args) {
24 //2.1提示用户输入十进制的数作为总钱数,例如11.56
25 System.out.println("请输入总钱数,比如11.56");
26 double amount = new Scanner(System.in).nextDouble();
27 //2.2将该钱数转化为1分的个数(例如11.56转化为1156)
28 int remainAamount=(int)(amount*100);
29 //2.3通过将剩余的1分钱的个数除以5000,求出的数50元的个数
30 int numberOfFifty_Yuan=remainAamount/5000;
31 remainAamount=remainAamount%5000;
32 //2.4通过将剩余的1分钱的个数除以2000,求出的数20元的个数
33 int numberOfTwenty_Yuan=remainAamount/2000;
34 remainAamount=remainAamount%2000;
35 //2.5通过将剩余的1分钱的个数除以1000,求出的数10元的个数
36 int numberOfTen_Yuan=remainAamount/1000;
37 remainAamount=remainAamount%1000;
38 //2.6通过将剩余的1分钱的个数除以500,求出的数5元的个数
39 int numberOfFive_Yuan=remainAamount/500;
40 remainAamount=remainAamount%500;
41 //2.7通过将剩余的1分钱的个数除以100,求出的数1元的个数
42 int numberOfOne_Yuan=remainAamount/100;
43 remainAamount=remainAamount%100;
44 System.err.println(remainAamount);
45 //2.8通过将1分的个数除以50,求出5角的个数,通过1分的个数除以
46 //50后取得的余数是剩余1分钱的个数。
47 int numberOfFive_Jiao=remainAamount/50;
48 remainAamount=remainAamount%50;
49 //2.9通过将1分的个数除以10,求出1角的个数,通过1分的个数除以
50 //100后取得的余数是剩余1分钱的个数。
51 int numberOfOne_Jiao=remainAamount/10;
52 remainAamount=remainAamount%10;
53
54 System.out.println("********************************");
55 System.out.println("您拥有钱的总额为:"+amount+"可分解为");
56 System.out.println(" "+numberOfFifty_Yuan+" 50元");
57 System.out.println(" "+numberOfTwenty_Yuan+" 20元");
58 System.out.println(" "+numberOfTen_Yuan+" 10元");
59 System.out.println(" "+numberOfFive_Yuan+" 5元");
60 System.out.println(" "+numberOfOne_Yuan+" 1元");
61 System.out.println(" "+numberOfFive_Jiao+" 5角");
62 System.out.println(" "+remainAamount+" 1分");
63 System.out.println("*******************************");
64 }
65
66 }
9.整钱兑零业务(更好的做法~抽象其中的方法)
1 package com.neusoft.chapter2;点击+展开代码-方式2解决兑零业务员
2 import java.util.Scanner;
3 /**
4 * @author zhao-chj
5 * 整钱兑零业务
6 * 1.需求和系统分析
7 * 1.1将给定的钱分成比给定钱面值小的之和
8 * 1.2输入为:人民币的元和角表示的总钱数(double型)
9 * 1.3输出为:一个清单列出和总钱数等价的元、角、分的数目
10 * 2.系统设计
11 * 2.1提示用户输入十进制的数作为总钱数,例如11.56
12 * 2.2将该钱数转化为1分的个数(例如11.56转化为1156)
13 * 2.3通过将1分的个数除以10,求出1角的个数,通过1分的个数除以
14 * 100后取得的余数是剩余1分钱的个数。
15 * 2.4通过将1分的个数除以50,求出5角的个数,通过1分的个数除以
16 * 100后取得的余数是剩余1分钱的个数。
17 * 2.5通过将剩余的1分钱的个数除以500,求出的数5元的个数
18 * 2.6通过将剩余的1分钱的个数除以1000,求出的数10元的个数
19 * 2.7通过将剩余的1分钱的个数除以2000,求出的数20元的个数
20 * 2.8通过将剩余的1分钱的个数除以5000,求出的数50元的个数
21 */
22 public class ComputeChange2 {
23 static int remainAamount;
24 public static void main(String[] args) {
25 ComputeChange2 c2=new ComputeChange2();
26 //2.1提示用户输入十进制的数作为总钱数,例如11.56
27 System.out.println("请输入总钱数,比如11.56");
28 double amount = new Scanner(System.in).nextDouble();
29 //2.2将该钱数转化为1分的个数(例如11.56转化为1156)
30 int amount_money=(int)(amount*100);
31 int numberOfFifty_Yuan=c2.change(amount_money,5000);
32 //System.err.println(remainAamount);
33 int numberOfTwenty_Yuan=c2.change(remainAamount,2000);
34 int numberOfTen_Yuan=c2.change(remainAamount,1000);
35 int numberOfFive_Yuan=c2.change(remainAamount,500);
36 int numberOfOne_Yuan=c2.change(remainAamount,100);
37 int numberOfFive_Jiao=c2.change(remainAamount,50);
38 int numberOfYi_Jiao=c2.change(remainAamount,10);
39 int numberOfYi_Fen=c2.change(remainAamount,1);
40
41 System.out.println("********************************");
42 System.out.println("您拥有钱的总额为:"+amount+"可分解为");
43 System.out.println(" "+numberOfFifty_Yuan+" 50元");
44 System.out.println(" "+numberOfTwenty_Yuan+" 20元");
45 System.out.println(" "+numberOfTen_Yuan+" 10元");
46 System.out.println(" "+numberOfFive_Yuan+" 5元");
47 System.out.println(" "+numberOfOne_Yuan+" 1元");
48 System.out.println(" "+numberOfFive_Jiao+" 5角");
49 System.out.println(" "+numberOfYi_Jiao+" 5角");
50 System.out.println(" "+numberOfYi_Fen+" 1分");
51 System.out.println("*******************************");
52 }
53 //change()方法根据具有的不同零钱得到对应的钱币数量,remainAamount为剩余的钱数,以分为单位
54 public int change(int Amount,int changeMoney){
55 int numberOfchange=Amount/changeMoney;
56 remainAamount=Amount%changeMoney;
57 //System.out.println("..."+remainAamount);
58 return numberOfchange;
59 }
60
61 }
10.计算贷款支付程序
1 package com.neusoft.chapter2;点击+展开代码-计算贷款业务
2
3 import java.util.Scanner;
4
5 /**
6 * @author zhao-chj
7 *案例:计算贷款支付程序
8 *其中贷款可以是车辆贷款、学生贷款、住宅贷款
9 * 1.需求分析
10 * 1.1用户需要输入利率、贷款金额和支付的年数
11 * 1.2计算得出月支付额度和总的支付额度并显示
12 * *************************************
13 * 2.系统分析
14 * 2.1输出是月支付额度和总支付额度,计算公式如下
15 * 月支付额度=贷款额度*月利率/(1-1/(1+月利率)“年数*12) “后面是指数,次方
16 * *************************************
17 * 3.系统设计
18 * 3.1提示用户输入年利率、年数以及贷款金额
19 * 3.2对年利率的处理需要输入一个百分比格式的数字,如4.5%,程序通过除以100将其
20 * 转化为十进制的数值。
21 * 3.3从年利率到月利率,除以12计算得到,为了得到十进制格式的月利率,需要将百分比格式的
22 * 年利率除以1200得到月利率,如4.5%,月利率为4.5/1200=0.00375
23 * 3.5使用2.1的公式计算月付金额
24 * 3.6计算总共支付金额,等于月支付金额乘以12,在乘以年数
25 * 3.7显示月支付额度和年支付额度。
26 * **************************************
27 */
28 public class ComputeLoan {
29 public static void main(String[] args) {
30 //3.1提示用户输入年利率、年数以及贷款金额
31 System.out.println("请您输入年利率,如4.5%");
32 double annualInterestRate = new Scanner(System.in).nextDouble();
33 System.out.println("请您输入年数,如4");
34 int numberOfYesrs = new Scanner(System.in).nextInt();
35 System.out.println("请您输入贷款金额,如1200000");
36 double loanAmount = new Scanner(System.in).nextDouble();
37 //3.2对年利率的处理需要输入一个百分比格式的数字,如4.5%,程序通过除以100将其转化为十进制的数值。
38 double passInt = annualInterestRate/100;
39 //3.3从年利率到月利率,除以12计算得到,为了得到十进制格式的月利率,需要将百分比格式的
40 //年利率除以1200得到月利率,如4.5%,月利率为4.5/1200=0.00375
41 double monthlyInteresRate = passInt/12;
42 //3.5使用2.1的公式计算月付金额
43 //月支付额度=贷款额度*月利率/(1-1/(1+月利率)“年数*12) “后面是指数,次方
44 double monthPayment = loanAmount*monthlyInteresRate/
45 (1-1/Math.pow(1+monthlyInteresRate,numberOfYesrs*12 ));
46 //3.6计算总共支付金额,等于月支付金额乘以12,在乘以年数
47 double totalPayment = monthPayment *numberOfYesrs*12;
48 //3.7显示月支付额度和年支付额度。
49 monthPayment=(int)(monthPayment*100)/100;//保留小数点后两位
50 totalPayment=(int)(totalPayment*100)/100;
51 System.out.println("月支付金额为:"+monthPayment);
52 System.out.println("总支付金额为:"+totalPayment);
53 }
54 }
11.数值的分解和字符串分解的四种方法(重点)
1 package com.neusoft.chapter2.exercise;点击+展开代码
2
3 import java.util.Scanner;
4
5 /**
6 * @author zhao-chj
7 *题:整数分解
8 *读取一个在0-1000之间的整数,并将该整数对的各位数字相加
9 *1.读入一个在给定范围的整数
10 *2.分解三位数的个位、十位、百位
11 *分解重要思想:%分解数字,/去掉已分解的数字
12 *3.将得到的个位、十位、百位数值进行相加并输出
13 */
14 public class Exercise06 {
15 public static void main(String[] args) {
16 computeWay0();
17 //computeWay1();
18 //computeWay2();
19 //computeWay3();
20 }
21 /**
22 * 对输入数值的分解,仅仅可以做到四位整数的分解
23 */
24 public static void computeWay0() {
25 //1.读入一个在给定范围的整数
26 System.out.println("请您输入一个在0-2000之间的整数");
27 int number = new Scanner(System.in).nextInt();
28 if (number>=0&&number<2000) {
29 //2.分解三位数的个位、十位、百位
30 int lastDigit = number%10;
31 int secondDigit=number/10%10;
32 int thirdDigit=number/10/10%10;
33 int forthDigit=number/10/10/10%10;
34 int sum=lastDigit+secondDigit+thirdDigit+forthDigit;
35 //3.将得到的个位、十位、百位数值进行相加并输出
36 System.out.println(number+"的各位数值之和为:"+sum);
37 }else {
38 System.out.println("您输入的数值不在给定区间之内~");
39 }
40 }
41 /**
42 * 对输入数值的分解,不限输入位数
43 */
44 public static void computeWay1(){
45 Scanner sc = new Scanner(System.in);//键盘输入数字
46 System.out.println("请输入一个数");
47 int a = sc.nextInt();
48 int temp=10;
49 String str = String.valueOf(a); //将数字转换成字符串
50 int b = str.length(); //判断该字符串长度,即数字位数
51 System.out.println("该数字:"+b+"位,");
52 while(b>0){
53 int x = a%temp; //得到末尾数数字
54 a = a/temp;
55 System.out.print(x+",");
56 b--;
57 }
58 }
59 /**
60 * 对输入数值或字符串的分解,不限输入数目
61 */
62 public static void computeWay2(){
63 System.out.println("请输入一个数或字符串");
64 Scanner sc = new Scanner(System.in);//键盘输入数字
65 String nextLine = sc.nextLine();
66 String str=String.valueOf(nextLine);
67 for(int i=0;i<str.length();i++)
68 {
69 System.out.println("第"+i+"个位置上元素为:"+str.charAt(i));
70 }
71 }
72 /**
73 * 对输入数值或字符串的分解,不限输入数目,注意StringBuffer的使用
74 */
75 public static void computeWay3(){
76 System.out.println("请输入一个数或字符串");
77 Scanner in = new Scanner(System.in);
78 // 例如 "123456789123456789"
79 String inputStringOrNumber = in.nextLine();
80 String input = new String(inputStringOrNumber);
81 String string = input.toString();
82 char[] charArray = string.toCharArray();
83 StringBuffer buffer = new StringBuffer();
84 // 从个位数
85 for (int i = charArray.length - 1; i >= 0; i--)
86 {
87 System.out.println("第" + (charArray.length - i) + "位:" + charArray[i]);
88 buffer.append(charArray[i] + " ");
89 }
90 System.out.println(buffer.toString());//逆序输出
91 }
92 }
12.根据分钟数求出年和天数
1 package com.neusoft.chapter2.exercise;点击+展开代码
2
3 import java.util.Scanner;
4
5 /**
6 * @author zhao-chj
7 *题:根据分钟数求出年和天数
8 *提示用户输入分钟数,显示这些分钟代表多少年和多少天。考虑一年365天
9 *1.提示用户输入分钟数,比如1000000000
10 *2.根据分钟数得到天数=分钟数/(24*60)
11 *3.根据分钟数得到年数=天数/365
12 *4.输出对应的天数和年数
13 */
14 public class Exercise07 {
15 public static void main(String[] args) {
16 //1.提示用户输入分钟数,比如1000000000
17 System.out.println("请您输入分钟数,如1000000");
18 long minutes = new Scanner(System.in).nextLong();
19 //2.根据分钟数得到天数=分钟数/(24*60)
20 long numberOfDays=minutes/(24*60);
21 long remainOfDays=numberOfDays%365;
22 //3.根据分钟数得到年数=天数/365
23 long numberOfYears=numberOfDays/365;
24 //4.输出对应的天数和年数
25 System.out.println(minutes+"分钟对应着"+
26 numberOfYears+"年"+remainOfDays+"天");
27 }
28 }
13编写程序读入一笔费用和酬金率,计算酬金和总钱数。
1 package com.neusoft.chapter2.exercise;点击+展开代码
2
3 import java.util.Scanner;
4
5 import javax.swing.plaf.basic.BasicInternalFrameTitlePane.SystemMenuBar;
6
7 /**
8 * @author zhao-chj
9 *题:编写程序读入一笔费用和酬金率,计算酬金和总钱数。
10 *如:用户输入10元费用,15%的酬金率,计算结果显示酬金为1.5元,总费用为11.5元
11 *1.读入用户输入的费用和对应的酬金率
12 *2.计算酬金,如10元费用,15%酬金率,得到酬金为1.5元,并输出
13 *3.计算总金额为,本金的费用+酬金费用,并输出
14 */
15 public class Exercise05 {
16 public static void main(String[] args) {
17 //1.读入用户输入的费用和对应的酬金率
18 System.out.println("请您输入费用~");
19 double subtotal = new Scanner(System.in).nextDouble();
20 System.out.println("请您输入对应的酬金率~");
21 double rate=new Scanner(System.in).nextDouble();
22 //2.计算酬金,如10元费用,15%酬金率,得到酬金为1.5元,并输出
23 double gratuity=subtotal*rate/100;
24 //3.计算总金额为,本金的费用+酬金费用,并输出
25 double total=subtotal+gratuity;
26 //4.输出酬金和总金额
27 System.out.println("酬金为:"+gratuity+"\n"+"总金额为:"+total);
28 }
29 }
14.磅数转千克数(单位转化)
1 package com.neusoft.chapter2.exercise;点击+展开代码
2
3 import java.util.Scanner;
4
5 /**
6 * @author zhao-chj
7 *题:磅数转千克数(单位转化)
8 *1.提示用户输入需要转化的磅数数值
9 *2.根据转化公式将磅数转化为千克
10 *公式:千克=磅数*0.454
11 *3.输出转化后的千克的数值
12 */
13 public class Exercise04 {
14 public static void main(String[] args) {
15 //1.提示用户输入需要转化的磅数数值
16 System.out.println("请您输入需要转化的磅数数值~");
17 double pounds = new Scanner(System.in).nextDouble();
18 //2.根据转化公式将磅数转化为千克.公式:千克=磅数*0.454
19 double kilogrames= pounds*0.454;
20 //3.输输出转化后的千克的数值
21 System.out.println(pounds+"磅数转化为"+kilogrames+"千克");
22 }
23 }
15.英尺转米(单位转化)
1 package com.neusoft.chapter2.exercise;点击+展开代码
2
3 import java.util.Scanner;
4
5 /**
6 * @author zhao-chj
7 *题:英尺转米(单位转化)
8 *1.提示用户输入需要转化的英尺数值
9 *2.根据转化公式将英尺转化为米
10 *公式:米=英尺*0.305
11 *3.输出转化后的米的数值
12 */
13 public class Exercise03 {
14 public static void main(String[] args) {
15 //1.提示用户输入需要转化的英尺数值
16 System.out.println("请您输入需要转化的英尺数值~");
17 double feet = new Scanner(System.in).nextDouble();
18 //2.根据转化公式将英尺转化为米.公式:米=英尺*0.305
19 double meters= feet*0.305;
20 //3.输出转化后的米的数值
21 System.out.println(feet+"英尺转化为"+meters+"米");
22 }
23 }
16.利息额度计算
1 package com.neusoft.chapter2.exercise;点击+展开代码
2
3 import java.util.Scanner;
4
5 /**
6 * @author zhao-chj
7 * 利息额度计算
8 * 1.读取收支余额和年百分利率
9 * 2.根据利息额度计算公式得到利息额度
10 * 公式:利息额度=收支余额*(年利率/1200)
11 * 3.输出利息额度
12 */
13 public class Execrcise20 {
14 public static void main(String[] args) {
15 //1.读取收支余额和年百分利率
16 Scanner sc = new Scanner(System.in);
17 System.out.println("请您输入收支余额,如1000元");
18 double balance = sc.nextDouble();
19 System.out.println("请您输入年百分利率,如3.4,代表3.4%");
20 double annualInterestRate=sc.nextDouble();
21 //2.根据利息额度计算公式得到利息额度公式:利息额度=收支余额*(年利率/1200)
22 double monthlyInterestRate=annualInterestRate/1200;//年利率/1200
23 double interest=balance*monthlyInterestRate;
24 //3.输出利息额度
25 //(int)(100*interest)/100.0为保留小数点后两位
26 System.out.println("利息额度为:"+(int)(100*interest)/100.0);
27 }
28 }
17.海伦公式求解三角形面积
1 package com.neusoft.chapter2.exercise;点击+展开代码
2
3 import java.util.Scanner;
4
5 /**
6 * @author zhao-chj
7 * 海伦公式求解三角形面积
8 * 1.用户输入三角形的三个点A(x1,y1),B(x2,y2),C(x3,y3)
9 * 2.求解三角形的三条边
10 * distance(A,B)=sqrt(pow((x2-x1),2)+pow((y2-y1),2) 边1
11 * distance(A,C)=sqrt(pow((x2-x3),2)+pow((y2-y3),2) 边2
12 * distance(B,C)=sqrt(pow((x2-x3),2)+pow((y2-y3),2) 边3
13 * 2.根据海伦公式得到三角形的面积
14 * s=(边1+边2+边3)/2
15 * Area=sqrt(s(s-边1)(s-边2)(s-边3))
16 * 4.输出三角形的面积
17 */
18 public class Exercise19 {
19 public static void main(String[] args) {
20 System.out.println("****请您输入三角形的三点坐标****");
21 Scanner sc = new Scanner(System.in);
22 System.out.println("输入A点坐标(x1,y1)");
23 double x1 = sc.nextDouble();
24 double y1 = sc.nextDouble();
25 System.out.println("输入B点坐标(x2,y2)");
26 double x2 = sc.nextDouble();
27 double y2 = sc.nextDouble();
28 System.out.println("输入C点坐标(x3,y3)");
29 double x3 = sc.nextDouble();
30 double y3 = sc.nextDouble();
31 //1.计算边长
32 //distance(A,B)=sqrt(pow((x2-x1),2)+pow((y2-y1),2) 边1
33 double side1AB=Math.sqrt(Math.pow((x2-x1),2)+Math.pow((y2-y1),2));
34 //计算第二个 边的 边长
35 double side2AC=Math.pow((x3-x1)*(x3-x1)+(y3-y1)*(y3-y1),0.5);
36 //计算第三个 边的 边长
37 double side2BC=Math.pow((x3-x2)*(x3-x2)+(y3-y2)*(y3-y2),0.5);
38 //2.海伦公式
39 double s= (side1AB+side2AC+side2BC)/2;
40 double Area=Math.pow(s*(s-side1AB)*(s-side2AC)*(s-side2BC), 0.5);
41 //3.输出三角形的面积公式
42 System.out.println("用海伦公式得到三角形的面积为:"+Area);
43
44 }
45 }
18.按格式输出表格
a b pow(a,b)
1 2 1
2 3 8
3 4 81
4 5 2014
1 package com.neusoft.chapter2.exercise;点击+展开代码
2 /**
3 * @author zhao-chj
4 * a b pow(a,b)
5 * 1 2 1
6 * 2 3 8
7 * 3 4 81
8 * 4 5 2014
9 */
10 public class Exercise18 {
11 public static void main(String[] args) {
12 System.out.println("a b pow(a,b)");
13 System.out.println("1 2 "+(int)Math.pow(1, 2));
14 System.out.println("2 3 "+(int)Math.pow(2, 3));
15 System.out.println("3 4 "+(int)Math.pow(3, 4));
16 System.out.println("4 5 "+(int)Math.pow(4, 5));
17 System.out.println("5 6 "+(int)Math.pow(5, 6));
18 System.out.println("6 7 "+(int)Math.pow(6, 7));
19 System.out.println("7 8 "+(int)Math.pow(7, 8));
20 }
21 }
19.求解能量值
1 package com.neusoft.chapter2.exercise;点击+展开代码
2
3 import java.util.Scanner;
4
5 /**
6 * @author zhao-chj
7 * 求解能量
8 * 1.用户输入水的质量M,水的初始温度和水的最终温度
9 * 2.利用能量计算公式计算得到能量
10 * Q=M*(最终温度-初始温度)*4184
11 * 3.输出能量,注意对能量的合理范围做出判断
12 */
13 public class Exercise10 {
14 public static void main(String[] args) {
15 // 1.用户输入水的质量Mass,水的初始温度和水的最终温度
16 Scanner sc = new Scanner(System.in);
17 System.out.println("请您输入水的质量~");
18 double mass = sc.nextDouble();
19 System.out.println("请您输入水的初始温度~");
20 double initialTemperature=sc.nextDouble();
21 System.out.println("请您输入水的终止温度~");
22 double finalTemperature=sc.nextDouble();
23 // 2.利用能量计算公式计算得到能量
24 // Q=M*(最终温度-初始温度)*4184
25 double energy=mass*(finalTemperature-initialTemperature)*4184;
26 // 3.输出能量,注意对能量的合理范围做出判断
27 System.out.println("能量为:"+energy);
28 }
29 }
20.求解平均加速度
1 package com.neusoft.chapter2.exercise;点击+展开代码
2
3 import java.util.Scanner;
4
5 /**
6 * @author zhao-chj
7 * 求解平均加速度
8 * 用户输入以米/秒为单位的起始速度v0,终止速度vt,及时间t,求解平均加速度
9 * 1.用户输入起始速度,终止速度及时间t
10 * 2.利用平均加速度公式计算得到平均加速度
11 * a=(vt-v0)/t
12 * 3.输出平均加速度,注意对加速度的合理范围做出判断
13 */
14 public class Exercise09 {
15 public static void main(String[] args) {
16 //1.用户输入起始速度,终止速度及时间t
17 Scanner sc = new Scanner(System.in);
18 System.out.println("请您输入起始速度v0");
19 double v0 = sc.nextDouble();
20 System.out.println("请您输入终止速度vt");
21 double vt=sc.nextDouble();
22 System.out.println("请您时间t");
23 double t=sc.nextDouble();
24 //2.利用平均加速度公式计算得到平均加速度
25 double a=(vt-v0)/t;
26 //3.输出平均加速度,注意对加速度的合理范围做出判断
27 System.out.println("平均速度为:"+a);
28 }
29 }