java練習題(1)
阿新 • • 發佈:2018-12-21
1.輸入圓形半徑,求圓形的周長和圓形的面積,並將結果輸出。
import java.util.*; public class TestCircle { public static void main(String[] args) { Scanner scanner=new Scanner(System.in); System.out.println("請輸入圓的半徑:"); double r=scanner.nextDouble(); double c=2*3.14*r; double s=3.14*r*r; System.out.println("該圓的半徑為:R="+r); System.out.println("該圓的周長為:C="+c); System.out.println("該圓的面積為:S="+s); } } 輸出: 請輸入圓的半徑: 12.9 該圓的半徑為:R=12.9 該圓的周長為:C=81.012 該圓的面積為:S=522.5274000000001
2.銀行利率表如下表所示,請計算存款10000元,活期1年、活期2年,定期1年,定期2年後的本息合計。
結果如下圖所示(結果四捨五入,不保留小數位。使用Math.round(double d)實現)。
/** * 計算銀行利率 * @author Memorial * */ public class TestDeposit { public static void main(String[] args) { double a=10000; double b=0.35E-2; double c=1.10E-2; double d=1.30E-2; double f=1.50E-2; double g=2.10E-2; System.out.println("本金:"+Math.round(a)); System.out.println("活期一年本金總計:"+Math.round((a+a*b))); System.out.println("定期一年本金總計:"+Math.round((a+a*f))); System.out.println("活期兩年本金總計:"+Math.round((a+a*b+(a+a*b)*b))); System.out.println("定期兩年本金總計:"+Math.round((a+a*g+(a+a*g)*g))); } } 輸出: 本金:10000 活期一年本金總計:10035 定期一年本金總計:10150 活期兩年本金總計:10070 定期兩年本金總計:10424
3.某個公司採用公用電話傳遞資料,資料是四位的整數,在傳遞過程中是加密的,加密規則如下:每位數字都加上5,然後用和除以10的餘數代替該數字,再將第一位和第四位交換,第二位和第三位交換。結果如圖所示。
import java.util.*; /** *數字加密 * @author Memorial * */ public class TestEncrypton { public static void main(String[] args) { Scanner scanner=new Scanner(System.in); System.out.println("請輸入一個4位正整數:"); int x=scanner.nextInt(); //假設該四位數是abcd,將這四位數進行拆分 int a=x/1000; int b=x%1000/100; int c=x%100/10; int d=x%10; //每位數字上都加上5,然後用和除以10的餘數代替該數字 a=(a+5)%10; b=(b+5)%10; c=(c+5)%10; d=(d+5)%10; int y=1000*d+100*c+10*b+a; System.out.println("加密後的數字:"+y); } } 輸出: 請輸入一個4位正整數: 1234 加密後的數字:9876
大神編寫的程式碼:
package com.ftl;
import java.util.Scanner;
public class Demo6 {
//題目:某個公司採用公用電話傳遞資料,資料是四位的整數,在傳遞過程中是加密的,
//加密規則如下:每位數字都加上5,然後用和除以10的餘數代替該數字,再將第一位和第四位交換,第二位和第三位交換。
//通過程式進行加密和解密
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("請輸入一個四位數:");
int x = scanner.nextInt();
Demo6 demo6 =new Demo6();
System.out.println("加密之後的數字是:"+demo6.jiami(x));
System.out.println("解密之後的數字是:"+demo6.jiemi(demo6.jiami(x)));
}
//加密過程
public int jiami(int x) {
//假設該四位數是abcd,將這個四位數進行拆分
int a=x/1000;
int b=x%1000/100;
int c=x%100/10;
int d=x%10;
//每位數字都加上5,然後用和除以10的餘數代替該數字
a=(a+5)%10;
b=(b+5)%10;
c=(c+5)%10;
d=(d+5)%10;
x=1000*d+100*c+10*b+a;
return x;
}
//解密過程
public int jiemi(int x) {
//將加密後的數進行拆分
int a=x/1000;
int b=x%1000/100;
int c=x%100/10;
int d=x%10;
//每位數字都加上5,然後用和除以10的餘數代替該數字
a=(a+5)%10;
b=(b+5)%10;
c=(c+5)%10;
d=(d+5)%10;
x=1000*d+100*c+10*b+a;
return x;
}
//寫完程式發現,加密過程和解密過程是一樣的
}