java作業(1)
第一題:
模仿JavaAppArguments.java示例,編寫一個程序,此程序從命令行接收多個數字,求和之後輸出結果。
(1)設計思想
程序中設置字符串的個數,從鍵盤進行輸入,並且將字符串轉化為數字,再輸出相加後的值。
(2)
(3)源代碼:
package 第二次上課;
import java.util.Scanner;
public class JavaAppArguments {
public static void main(String[] args) {
//String[] 是java庫裏面有的一個類, 然後定義了一個args的字符串對象 ;
System.out
Scanner input = new Scanner(System.in);
String[] arggs =new String[3];
for(int i = 0;i<3;++i) {
//arggs[i] = new String();
arggs[i] = input.next();
}
for(String tmp:arggs) {
System.out.println(tmp);
}
// System.out.println("參數個數:"+args.length); //輸出字符串的個數
int sum = 0;
for (String i : arggs) //就是這種循環格式 args
{
sum+=Integer.valueOf(i);
//valueOf() 是java裏面的一個靜態函數,可以轉化不同參數類型的數據 此處是將字符串型的數據轉化成int型 Integer 代表額是轉化為int 也可以轉化為float
}
System.out.println("和為:"+sum); //輸出最後的和
}
}
(4)結果截圖:
第二題:
將課程中的所有動手動腦的問題以及課後實驗性的問題,整理成一篇文檔
- 問題: 一個java類文件中,可以有幾個公有類?
一個java類文件中只能有一個公有類;其他類可以有很多。
- public static void main(String[] args)中的void必須為void,不可以為其他類型,比如int型,編譯器是不會通過的,main 方法必須返回類 第二次上課.Jada 中的空類型值。
- 問題:為什麽java規定作為程序入口點的main() 方法靜態的?
非靜態成員函數在執行前必須先構造並實例化該函數所在的類。如果允許非靜態的main,那麽main函數所在的類必須先進行實例化,那麽就需要再寫個函數去實例化main所在的類,再調用main,如果這個實例化代碼也是非靜態的,又要寫個函數去實例化它所在的類。因此,java語言就規定了main必須是靜態的。
- 如圖所示代碼,輸出的結果是什麽?
結果是 1; 因為Java變量遵循“同名變量的屏蔽原則”前面已經有一個value,並且值為1,所以以後再用value,都會是1.
- 運行如下程序,結果是什麽?
public class Test{
public static void main(String args[]){
System.out.println(0.05+0.01);
System.out.println(1.0-0.42);
System.out.println(4.015*100);
System.out.println(123.3/100);
}
};0.060000000000000005
0.5800000000000001
401.49999999999994
1.2329999999999999 和我們想的結果可能並不一樣;不光是在java中,在好多語言中,float和double是不能進行計算的。
- 運行以下程序
結果為:
為什麽會有這樣的結果?
第一個輸出結果中,””中本身就是一個字符串,後面的加號默認為數據的鏈接,輸出結果認為一個字符串;第二個輸出中,加號首先進行的是加法運算,然後第二個加號才起到鏈接字符串的作用。
java作業(1)