1.Scanner實現基本數據的方法java
Scanner能夠輸入數據,能夠對數據進行驗正,存放在Java.util中。git
import java .util.Scanner Scanner input=new Scanner(System.in); int num=input.nextInt();
import java.util.Scanner; public class Test { public static void main(String[] args) { Scanner in=new Scanner(System.in); System.out.print("請輸入數字: "); int input=in.nextInt(); //讀取一行數據 System.out.println(input); } }
2.Random類和Math類的random()方法產生隨機數的區別和特色。
區別
--
Random使用單個 long 種子建立一個新的隨機數生成器。該種子是僞隨機數生成器的內部狀態的初始值,該生成器可經過方法 next(int) 維護。數組
例如
調用 new Random(seed) 等效於:多線程
Random rnd = new Random(); rnd.setSeed(seed);
Math類的random返回帶正號的 double 值,該值大於等於 0.0 且小於 1.0。返回值是一個僞隨機選擇的數,在該範圍內(近似)均勻分佈。dom
例如 第一次調用該方法時,與如下表達式徹底相同工具
new java.util.Random
Random類是一個類(java.util.Random),裏面含有不少方法。
Math類的random此方法是徹底同步的,可容許多個線程使用而不出現錯誤。可是,若是許多線程須要以極高的速率生成僞隨機數,那麼這可能會減小每一個線程對擁有本身僞隨機數生成器的爭用。學習
3.JDK,JVM,JRE的做用與關係.net
利用JDK開發了屬於咱們本身的JAVA程序後,經過JDK中的編譯程序(javac)將咱們的文本java文件編譯成JAVA字節碼,在JRE上運行這些JAVA字節碼,JVM解析這些字節碼。線程
4.PATH和CLASSPATH的做用設計
PATH環境變量做用是指定命令搜索路徑,在執行命令如javac編譯java程序時,它會到PATH變量所指定的路徑中查找看是否能找到相應的命令程序。咱們須要把jdk安裝目錄下的bin目錄增長到現有的PATH變量中,bin目錄中包含常常要用到的可執行文件如javac/java等待,設置好PATH變量後,就能夠在任何目錄下執行javac/java等工具了。
CLASSPATH環境變量。做用是指定類搜索路徑,要使用已經編寫好的類,前提固然是可以找到它們了,JVM就是經過CLASSPTH來尋找類的。咱們須要把jdk安裝目錄下的lib子目錄中的dt.jar和tools.jar設置到CLASSPATH中,固然,當前目錄「.」也必須加入到該變量中。
5.C語言與Java對應數據類型的不一樣
Java比C語言多了一個boolean類型,能夠直接返回值真假。
1.猜數遊戲
程序設計思路:在程序裏隨機產生一個數,請用戶輸入一個數,用if...else判斷猜大了、猜小了、猜對了,並提示還剩幾回機會。
if(a<rw) System.out.println("猜小了,剩餘的機會次數爲:"+j); else if(a>rw) System.out.println("猜大了,剩餘的機會次數爲:"+j); else System.out.println("猜對了!");
若是猜對了,用if...else判斷是第幾回猜對的,得多少分。用switch...case判斷是否進行下一次遊戲。
System.out.println("是否進行下一輪遊戲,1:是,2:否"); Scanner inb=new Scanner(System.in); int b=inb.nextInt(); switch(b){ case 1:System.out.println("輸入一個價格"); break; case 2:System.out.println("一共猜的次數爲:"+i); System.out.println("得分爲:"+c); break;
2.萬年曆
程序設計思路:請用戶輸入一個年份一個月份。編寫一個方法判斷該年是否是閏年,public static boolean isLeap(int year),用if...else判斷,返回值爲boolean型。
public static boolean isLeap(int year){ //判斷閏年 if((year%4==0&&year%100!=0)||year%400==0){ return true; } return false;
編寫一個方法判斷某年某月有多少天,public static int days(int year,int month),月份爲2月時,調用public static boolean isLeap(int year)方法,返回值爲該月有多少天。
public static int days(int year,int month){//判斷某年某月有多少天 boolean b; b=isLeap(year); if(month==1||month==3||month==5||month==7||month==8||month==10||month==12){ return 31; } else if(month==4||month==6||month==9||month==11) return 30; else{ if(b) return 29; else return 28; } }
編寫一個方法判斷計算某年某月以前距離1900年1月1日的總天數,public static int totalDays(int year,int month),先計算該年距離1900年有多少天,注意是否是閏年,而後計算該月以前到該年1月1日有多少天,把兩個天數相加。
pubilc static int totalDays(int year,int month){ int i,n,d; int sum=0,sum1=0,sum2=0; for(i=1900;i<year;i++){ boolean b; b=isLeap(i); if(b) n=366; else n=365; sum1=sum1+n; } for(i=1;i<month;i++){ if(i==1||i==3||i==5||i==7||i==8||i==10||i==12){ d=31; } else if(i==4||i==6||i==9||i==11) d=30; else{ boolean b; b=isLeap(year); if(b) d=29; else d=28; } sum2=sum2+d; } sum=sum1+sum2; return sum; }
編寫一個方法判斷該月第一天是星期幾,public static int weekEnd(int year,int month),判斷方法爲,調用public static int totalDays(int year,int month)方法,1+totalDays%7是幾就是星期幾。
編寫一個輸出某年某月日曆的方法,public static void printCalender(int year,int month),調用public static int weekEnd(int year,int month)和public static int days(int year,int month)這兩個方法,若是該月第一天不是星期日,利用循環輸出\t,利用循環打印輸出日曆,每當輸出\t的個數和日期的個數在一行達到7個時,請換行。
實驗問題分析:
問題1:日曆一行直接輸出了
緣由:不會換行
解決方案:讓輸出\t的個數加上輸出日期的個數與7求餘。
碼雲commit歷史截圖
代碼行數(新增/累積) | 學習時間(新增/累積) | 本週學習內容 | |
---|---|---|---|
目標 | 5000行 | 300小時 | |
第2-4周 | 100/100 | 20/20 | 學習了數組和方法 |
第5周 | |||
第6周 |