本系列博客習(xí)題來自《算法(第四版)》,算是本人的讀書筆記低斋,如果有人在讀這本書的,歡迎大家多多交流匪凡。為了方便討論膊畴,本人新建了一個(gè)微信群(算法交流),想要加入的病游,請(qǐng)?zhí)砑游业奈⑿盘?hào):zhujinhui207407 謝謝唇跨。另外,本人的個(gè)人博客 http://www.kyson.cn 也在不停的更新中衬衬,歡迎一起討論
知識(shí)點(diǎn)
- java的基本語法
- 斐波那契數(shù)列的java表示
1.1.1 給出以下表達(dá)式的值:
a.( 0 + 15 ) / 2
b.2.0e-6 * 100000000.1
c.true && false || true && true
public class Practice1 {
public static void main(String []args) {
System.out.println((0 + 15)/2);
System.out.println(2.0e-6 * 100000000.1);
System.out.println(true && false || true && true);
}
}
答案
7 //類型是整形买猖,所以輸出7
200.0000002 //浮點(diǎn)型
true //false||true,輸出
1.1.2 給出以下表達(dá)式的類型和值:
a. (1 + 2.236)/2
b. 1 + 2 + 3 + 4.0
c. 4.1 >= 4
d. 1 + 2 + "3"
public class Practice2 {
public static void main(String []args) {
System.out.println((1 + 2.236)/2);
System.out.println(1 + 2 + 3 + 4.0);
System.out.println(4.1 >= 4);
System.out.println(1 + 2 + "3");
}
}
答案
1.618 //浮點(diǎn)型
10.0 //1滋尉,2玉控,3會(huì)轉(zhuǎn)換為浮點(diǎn)型
true //真
33 //數(shù)字轉(zhuǎn)化為字符串
1.1.3 編寫一個(gè)程序,從命令行得到三個(gè)整數(shù)參數(shù)狮惜。如果它們都相等則打印 equal高诺,否則打印 not equal碌识。
答案
import java.util.Scanner;
public class Practice3 {
public static void main(String[] args) {
System.out.println("請(qǐng)輸入三個(gè)整數(shù)");
Scanner scanner1 = new Scanner(System.in);
String string1 = scanner1.next();
Scanner scanner2 = new Scanner(System.in);
String string2 = scanner2.next();
Scanner scanner3 = new Scanner(System.in);
String string3 = scanner3.next();
Integer number1 = Integer.valueOf(string1);
Integer number2 = Integer.valueOf(string2);
Integer number3 = Integer.valueOf(string3);
if(number1 == number2 && number1 == number3 && number2 == number3) {
System.out.println("equal");
} else {
System.out.println("not equal");
}
}
}
1.1.4 下列語句各有什么問題(如果有的話)?
a. if (a > b) then c = 0;
b. if a > b { c = 0; }
c. if (a > b) c = 0;
d. if (a > b) c = 0 else b = 0;
答案
a then關(guān)鍵字有問題,java中沒有then關(guān)鍵字
b a > b 外面忘記加括號(hào)了
c 正確(感謝@1solation提出)
d c = 0 忘記加分號(hào)虱而,并且沒有花括號(hào)筏餐,b = 0;外沒有加花括號(hào)
1.1.5 編寫一段程序,如果 double 類型的變量 x 和 y 都嚴(yán)格位于 0 和 1 之間則打印 true牡拇,否則打印 false
答案
public boolean between0And1(x,y){
if((x < 1) && (x > 0) && (y < 1) && (y > 0)) {
return true;
}
return false;
}
1.1.6 下面這段程序會(huì)打印出什么?
int f = 0;
int g = 1;
for (int i = 0; i <= 15; i++)
{
StdOut.println(f);
f = f + g;
g = f - g;
}
答案
0
1
1
2
3
5
8
13
21
34
55
89
144
233
377
610
//所以這段代碼是用來展示 斐波那契數(shù)列 的
1.1.7 分別給出以下代碼段打印出的值:
//a.
double t = 9.0;
while (Math.abs(t - 9.0/t) > .001)
t = (9.0/t + t) / 2.0;
StdOut.printf("%.5f\n", t);
//b.
int sum = 0;
for (int i = 1; i < 1000; i++)
for (int j = 0; j < i; j++)
sum++;
StdOut.println(sum);
//c.
int sum = 0;
for (int i = 1; i < 1000; i *= 2)
for (int j = 0; j < 1000; j++)
sum++;
StdOut.println(sum);
答案
3.00009
499500
10000
廣告
我的首款個(gè)人開發(fā)的APP壁紙寶貝上線了魁瞪,歡迎大家下載。