Java基础类编程集锦
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; 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 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 }
博客地址:http://www.cnblogs.com/jackchen-Net/