尚學堂java答案解析 第二章
阿新 • • 發佈:2019-02-09
本答案為本人個人編輯,僅供參考,如果讀者發現,請私信本人或在下方評論,提醒本人修改
一.選擇題:
1.CD
解析:A public是關鍵字. B 第一個不能是數字
2.C
解析:j=i++ <=> j=i; i++
3.A
解析:float資料需要在尾部加f,且f不能省略
4.AB
解析:C 字串必須是雙引號 D資料型別錯誤
5.AB
解析:A的賦值運算是最低的14級,B的題目符號錯誤符號,應該是 ?: ,位於13級
二.簡答題
1.bool byte->short->char->int->long->float->double
2. j=i++ <=> j=i; i++; j=++i <=> i++; j=i;
3.||是邏輯或運算子,是兩個bool值的或運算;,結果是bool型 . |是位運算,是兩個資料的按二進位制展開後每位進行或運算,結果是一個數
4.byte->short->char->int->long->float->double
三.編碼題
1.
import java.util.Scanner; public class Circle { public static void main(String[] args) { float radius=0.0f ; float circumference=0.0f; float area=0.0f; Scanner input = new Scanner(System.in); Result result = new Result(); System.out.println("請輸入圓的半徑:"); radius=input.nextFloat(); circumference=result.circumference(radius); area=result.area(radius); System.out.printf("該圓的半徑為: R=%2.1f\n",radius); System.out.printf("該圓的周長為: C=2*3.14*%2.1f=%2.1f\n",radius,circumference); System.out.printf("該圓的面積為: S=3.14*%2.1f*%2.1f=%3.3f\n",radius,radius,area); } } class Result{ final float PI=3.14f; public float circumference(float radius){ return 2*PI*radius; } public float area(float radius){ return PI*radius*radius; } }
2.
import java.util.Currency; public class InterestRate { public static void main(String[] args) { int principal = 10000; FinalValue finalValue = new FinalValue() ; System.out.printf("本金:%d\n",principal); System.out.printf("活期一年本金總計:%d\n",(int)finalValue.CurrentDeposit_12(principal)); System.out.printf("定期一年本金總計:%d\n",(int)finalValue.FixedDeposit_12(principal)); System.out.printf("活期兩年本金總計:%d\n",(int)finalValue.CurrentDeposit_24(principal)); System.out.printf("定期兩年本金總計:%d\n",(int)finalValue.FixedDeposit_24(principal)); } } class FinalValue{ float currentDeposit=0.35f; float fixedDeposit_3=1.10f; float fixedDeposit_6=1.30f; float fixedDeposit_12=1.50f; float fixedDeposit_24=2.10f; float CurrentDeposit_12(int principal){ return principal*currentDeposit/100f+principal; } float CurrentDeposit_24(float principal){ return principal*currentDeposit*2/100f+principal; } float FixedDeposit_12(float principal){ return principal*fixedDeposit_12/100f+principal; } float FixedDeposit_24(float principal){ return 2*principal*fixedDeposit_24/100f+principal; } }
3.
import java.util.Scanner;
public class EnCode {
public static void main(String[] args) {
int plaintext = 0;
int ciphertext = 0;
int temp=1000;
int num=0;
int bit[] = new int[4];
Scanner input = new Scanner(System.in);
System.out.print("請輸入4位正整數:");
plaintext = input.nextInt();
for(int i=0; temp>=1;temp=temp/10,i++){
bit[i]=(int)plaintext/temp;
num= bit[i];
System.out.printf("\tbit["+i+"]="+bit[i]);
bit[i]=(bit[i]+5)%10;
System.out.printf("\tbit["+i+"]="+bit[i]);
plaintext=plaintext-num*temp;
System.out.println();
}
for(int i=0;i<2;i++){
temp=bit[i];
bit[i]=bit[bit.length-1-i];
bit[bit.length-1-i]=temp;
}
System.out.print("\n密文:");
temp=1000;
for(int i=0; temp>=1;temp=temp/10,i++) {
ciphertext=bit[i]*temp+ciphertext;
}
System.out.println(ciphertext);
}
}