你們好,無論誰看了個人博客,首先請你們原宥個人自大和個人拙見。首先先來解析一下我作的選作題,而後再談一談我學習java的感覺。
選作題的題目是:編寫一個應用程序,生成並打印輸出一個XXX-XXX-XXXX類型的電話號碼,包括鏈接線。前三個數字中不能有8或9,中間三個數字組成的數不能大於742.我第一次編寫的源程序是這樣的(其中附帶有解釋)
但第一次編寫的源程序中有缺陷。好比說num4雖然符合題目要求是三100取到742,而0-99之間的數如012,001這樣的數就取不到。一樣num5也有此缺陷。還有就是爲了簡便化,咱們能夠再定義一個String型變量num, 將System.out.println("The telephone number is:"+num1+num2+num3+"-"+num4+"-"+num5);替換爲num=」」+num1+num2+num3+’」-」+num4+」-」+num5; System.out.println("The telephone number is:"+num);因此後來又參照盧紅威的源程序,對個人程序又進行改進。改進後的源程序以下。ide
- import java.util.Random; /*import的申明告訴編譯器應該在哪裏尋找相關類,避免了每次都寫出類的全名*/
- public class Tel /*定義Tel這個類*/
- {
- public static void main(String[] args)
- {
- Random generator=new Random(); /*對generator對象引用變量進行申明,並用Random();構造方法進行對象的初始化*/
- int num1,num2,num3,num4,num5; /*對變量進行申明*/
- num1=generator.nextInt(8); /*用「generator」對象調用Random類中的nextInt();方法對變量num1進行賦值,生成一個0-7範圍中的隨機數*/
- num2=generator.nextInt(8); /*同上*/
- num3=generator.nextInt(8); /*同上*/
- num4=generator.nextInt(643)+100; /*用「generator」對象調用Random類中的nextInt();方法對變量num4進行賦值,生成一個100-642範圍中的隨機數*/
- num5=generator.nextInt(9000)+1000; /*同上*/
- System.out.println("The telephone number is:"+num1+num2+num3+"-"+num4+"-"+num5); /*用字符串拼接輸出這個電話號碼*/
- }
- }
位數字,但它的範圍只能從學習
- /*import的申明告訴編譯器應該在哪裏尋找相關類,避免了每次都寫出類的全名*/
- import java.util.Random;
- /*定義Tel2這個類*/
- public class Tel2
- {
- public static void main(String[] args)
- {
- /*用new運算符建立對象,並用Random();構造方法進行對象的初始化*/
- Random generator=new Random();
- /*申明5個int類型的基本變量,num一、num二、num3分別表明電話號碼的前三位數字,numb是爲生成電話號碼的中間三位數字而生成的0-742的隨機數,numc是爲生成電話號碼的最後四位數字而生成的0-9999的隨機數*/
- int num1,num2,num3,numb,numc;
- /*申明3個String類型的變量,numa是電話號碼的前三位數,numb1是電話號碼的中間三位數,numc1是電話號碼的最後四位數*/
- String numa,numb1,numc1;
- /*用「generator」對象調用Random類中的nextInt();方法對變 量num1進行賦值,生成一個0-7範圍中的隨機數*/
- num1=generator.nextInt(8);
- num2=generator.nextInt(8);
- num3=generator.nextInt(8);
- /*用num一、num二、num3以字符串的形式組成numa來表示電話號碼的前三位數字*/
- numa=""+num1+num2+num3;
- System.out.println("The first number is:"+numa);
- /*用「generator」對象調用Random類中的nextInt();方法對變量numb進行賦值,生成一個0-742範圍中的隨機數*/
- numb=generator.nextInt(743);
- /*此if語句限定隨機數是三位數字的話就輸出*/
- if(numb>=100)
- {
- numb1=""+numb;
- System.out.println("The second number is:"+numb1);
- }
- /*用else語句限定若是隨機數是一位則在其前補兩個00,是三位則在其前補一個0,使它們構成電話號碼的中間三位數字*/
- else
- {
- if(numb<10)
- {
- numb1="00"+numb;
- System.out.println("The second number is:"+numb1);
- }
- else
- {
- numb1="0"+numb;
- System.out.println("The second number is:"+numb1);
- }
- }
- /*如下生成的電話號碼的後四位數字numc1和上面生成的numb1作法相同*/
- numc=generator.nextInt(10000);
- if(numc>=1000)
- {
- numc1=""+numc;
- System.out.println("The third number is:"+numc1);
- }
- else
- {
- if(numc<10)
- {
- numc1="000"+numc;
- System.out.println("The third number is:"+numc1);
- }
- else
- {
- if(numc<100)
- {
- numc1="00"+numc;
- System.out.println("The third number is:"+numc1);
- }
- else
- {
- numc1="0"+numc;
- System.out.println("The third numer is:"+numc1);
- }
- }
- }
- /*以字符串的形式打印輸出這個電話號碼*/
- System.out.println("The telephone number is:"+numa+"-"+numb1+"-"+numc1);
- }
- }
第二次寫的程序對取值範圍的侷限性和不簡化性都進行了改進。也許仍是不盡完美,但願老師和同窗們能指出有缺陷的地方。
如今來談一談我學習java的感覺。我以爲學習java首先須要咱們有耐心,就像我第二次作選作題同樣,首先我要把本身寫的源程序看一遍回想本身的作題思想、思路和老師給我指出的不足、缺陷。再者我還要把盧紅威的源程序給看懂,找出他的解題思路。固然我本身寫出來的源程序在編譯、運行時也會出不少的錯誤,好比我爲了使程序簡化和一目瞭然,我加了這樣的語句numa=""+num1+num2+num3;和num=""+numa+"-"+numb+"-"+numc;但我忘記對其進行Sring numa,num;這樣的申明瞭,致使沒法編譯。固然作的過程當中還出現了其它不少的問題,因此就須要咱們沉着心,耐着性子,咱們才能把它作完。第二個是上課聽講要仔細,我以爲java就是要咱們過細,不少時候老師在課堂上無心中講的一句話也許就是一個重點,好比說用java運行字節碼程序時不要後綴名.class,不然咱們就沒法運行;不是public的類,文件名和類名能夠不同。這些細節都是咱們在課堂上聽課須要注意的。編寫程序的時候也是要求咱們過細,這樣咱們才能編寫出一個成功的程序,固然編寫出一個成功程序的前提仍是咱們須要熟悉和掌握java的語法和規則,這就須要咱們多看書。最後是咱們要有一個越難的東西咱們越要征服它的心態。我以爲java和英語差很少,不是說像高數那樣難的咱們都看不懂,只是它有點繁瑣,像英語同樣有不少的語法,規則須要咱們去了解和記憶。好比說它有不少的包,報下面又有不少的類,類中又有不少的方法,這些只有當咱們熟悉它,吃透它以後,用起來的時候咱們才能得心應手。我常常告誡本身,作什麼事都不是一蹴而就的,是須要咱們付出的,學習java更是要咱們付出咱們的耐心的。
固然,我也是初涉java,這只是我目前的愚見。但願不對的地方還請你們指出來。