尚學堂 實戰java程式設計 第1,2章課後題答案
第1章 一、選擇題 1.C 2.AD 3.D 4.B 5.A 二、簡答題 1.答:計算機語言總的來說分為機器語言,組合語言,高階語言三大類。這三種語言是計算機語言發展歷史的三個階段。 2.答:java在作業系統上加入了jvm虛擬機器,程式執行在jvm上,jvm會自動根據不同作業系統將相同的.class位元組碼解釋成不同的機器碼 3.答:JDK(java development kit) >JRE(java runtime enviroment) >JVM(java virtual machine). 4.答:編寫原始檔->編譯原始檔(使用編譯器javac)->位元組碼->執行位元組碼(使用直譯器java)。 5.答:Path是一個常見的環境變數,它告訴作業系統,當要求系統執行一個程式而沒有告訴它程式所在的完整路徑時,系統除了在當前目錄下尋找此程式外,還應到哪些目錄下尋找。 ·設定Path環境變數的步驟如下 1. 右鍵計算機——>屬性——>高階系統設定。
2. 單擊環境變數按鈕,進入如圖所示環境變數操作主介面:
3. 單擊新建按鈕,新建JAVA_HOME變數(用於說明JDK的安裝目錄),如圖所示。
4.修改系統環境變數Path,在最前面追加%JAVA_HOME%\bin 並以;和原路徑分隔。再增加:“.;”。這是表示當前目錄的意思。
三、編碼題 1. public class C1_code1 {
public static void main(String[] args) { // TODO 自動生成的方法存根 System.out.println("========================"); System.out.println("\t主選單"); System.out.println("\t1.註冊"); System.out.println("\t2.登陸"); System.out.println("\t3.幫助資訊"); System.out.println("請選擇:"); System.out.println("========================"); }
}
public class C1_code2 { public static void main(String[] args) { int i, j; for(i = 1; i < 5; i++) { //外層循壞控制行 for(j = 1; j <= i; j++) { //內層迴圈控制列 System.out.print(j + “*” + i + “=” + i * j + " "); if(i == j) { System.out.println(); //控制換行 } } } }
}
第二章 一、選擇題 1.CD 2.C 3.A 4.AB 5.AB 二、簡答題 1.答:整型變數:byte、short、int、long 浮點型:float、double 字元型:char 布林型:boolean,值為true或者false 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 C2_code1 { static Scanner scanner = new Scanner(System.in); static double r; final static double PI = 3.14;
public double perimeter(double r) {
return 2 * PI * r;
}
public double area(double r) {
return r * PI * r;
}
public static void main(String[] args) {
C2_code1 c = new C2_code1();
System.out.print("請輸入圓的半徑:");
r = scanner.nextDouble();
System.out.println("該圓的半徑為:" + r);
System.out.println("該圓的周長為:" + c.perimeter(r));
System.out.println("該圓的半徑為:" + c.area(r));
}
}
public class C2_code2 {
public static final int Principal = 10000;
static double current1 = 0.0035;
static double current2 = 0.0035 * 2.0;
static double regular1 = 0.0150;
static double regular2 = 0.0210 * 2.0;
int culCurrent() {
return (int)(Principal + Principal * current1);
}
public static void main(String[] args) {
C2_code2 c = new C2_code2();
System.out.println("本金:" + Principal);
System.out.println("活期1年本金總計:" + Math.round(Principal * (1.0 + current1)));
System.out.println("定期1年本金總計:" + Math.round(Principal * (1.0 + regular1)));
System.out.println("活期2年本金總計:" + Math.round(Principal * (1.0 + current2)));
System.out.println("定期2年本金總計:" + Math.round(Principal * (1.0 + regular2)));
}
}
程式碼: package com.Homework; import java.util.Scanner;
public class C2_code3 { static int x, x1, x2, x3, x4;
public static void main(String[] args) {
// TODO 自動生成的方法存根
C2_code3 c = new C2_code3();
Scanner input = new Scanner(System.in);
System.out.print("請輸入一個四位數:");
x = input.nextInt();
if(x < 999 || x > 9999) {
System.out.println("你輸入的不是四位數字!!請重新輸入!");
}else {
x1 = ((x / 1000) + 5) % 10; //獲取千位
x2 = ((x % 1000) / 100 + 5) % 10; //獲取百位
x3 = (((x % 1000) % 100) / 10 + 5) % 10; //獲取十位
x4 = ((((x % 1000) % 100) % 10) + 5) % 10; //獲取個位
int[] arr = {x1, x2, x3, x4}; //用陣列儲存這四個數
for(int i = 0, j = 3; i < j ; i++, j--) { //交換位置
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
System.out.println("加密後的數字為:");
for(int i = 0; i < 4; i++) {
System.out.print(arr[i]);
}
}
}
}
執行截圖: