黑馬程序員濟南中心JavaEE基礎階段必會案例NO.4php
黑馬程序員課程內容豐富多樣,每一個知識點咱們都設計有新奇的案例讓你們練習。黑馬程序員訓練營的課程也是案例驅動教學,天天都會進行大量的代碼練習。今天咱們就來一塊兒作一個基礎階段第10天的一個小案例。程序員
案例要求:1.從鍵盤接受多個整數,直到用戶輸入end結束,要求:把全部的整數按倒序寫到D:\\number.txt中數組
案例分析:咱們要用到的知識點:鍵盤錄入,循環控制,集合或者數組,文件寫入設計
分析完一個大概之後咱們先思考一個問題:如何既能接收數字又能接收end這個字符串?對象
這裏就要分析Scanner對象的nextInt()和nextLine()的區別了。nextInt只能接收int類型的數字,nextLine()接收字符串,可是1 2 3 這樣的數字也能夠認爲是字符串元素。ok那咱們就用nextLine()了!開發
[Java] 純文本查看 複製代碼字符串
?get
01it 02io 03 04 05 06 07 08 09 10 11 |
public static void main(String[] args) throws IOException { Scanner sc = new Scanner(System.in);//建立鍵盤錄入對象 while(true){//死循環,用if條件控制循環結束 System.out.println("請輸入整數,輸入end結束"); String s = sc.nextLine();//1 2 3 end均可以接收 if(s.equals("end")){//若是輸入end結束循環 break; } } System.out.println("輸入完成!"); } |
運行看看:
如今咱們把循環輸入數據部分完成了,你們仔細看註釋,其實都是學過的簡單語法。好,下面咱們就開始存數據了,往哪存呢,其實數組和集合都能完成,既然咱們剛學了集合,那就用一用熟悉熟悉吧~
[Java] 純文本查看 複製代碼
01 02 03 04 05 06 07 08 09 10 11 12 13 14 |
public static void main(String[] args) throws IOException {
Scanner sc = new Scanner(System.in); ArrayList<String> list = new ArrayList<>();//建立集合存儲數據 while(true){ System.out.println("請輸入整數,輸入end結束"); String s = sc.nextLine();//1 2 3 end均可以接收 if(s.equals("end")){ break; } list.add(s);//往集合中添加數據 } System.out.println("完成"); } |
若是是基礎班的同窗看到這個文章,你們注意下作題思路,也是開發思路,不必一開始就想好每一個細節,用到集合了再建立也不遲。我常常看到部分同窗對着題目遲遲不下手,一直在想,我以爲仍是下手多敲爲主,多運行分析,確保每一步正確。
下面就剩下,把集合中的數據寫入文件啦。這是第10天剛學的知識,來吧,敲起來!
[Java] 純文本查看 複製代碼
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 |
public static void main(String[] args) throws IOException { Scanner sc = new Scanner(System.in); ArrayList<String> list = new ArrayList<>(); while(true){ System.out.println("請輸入整數,輸入end結束"); String s = sc.nextLine();//1 2 3 end均可以接收 if(s.equals("end")){ break; } list.add(s); } FileWriter fw = new FileWriter("D:\\number.txt");//建立輸出流對象 for (int i = list.size()-1; i >= 0 ; i--) {//倒着遍歷集合 String s1 = list.get(i);//獲得集合中的元素 fw.write(s1);//寫入文件中 } fw.close();//關流 System.out.println("寫入完成"); } |
運行看一看:
在看看文件裏的數據有沒有:
大功告成!!
這個案例做爲一個經典案例用來複習集合和文件寫入的方法,循環等等知識點很是不錯,很新穎。其實,每一個案例都有不少種寫法,不一樣的人可能有不一樣的思路,好比這個題有的同窗用數組方法 或者用for循環,更改循環條件等也能夠實現。黑馬程序員訓練營也是很是鼓勵你們開動腦筋積極思考的。
點進這個帖子的同窗確定是要奮發圖強,學技術拿高薪的有志青年,這裏我看你骨骼驚奇,是個絕世的練武奇才,你我有緣,今天我就把這個武林祕籍如來神掌傳授於你! 什麼?不想學如來神掌?沒關係!這裏有各個門派的武林絕學,連接拿好!!哈哈哈哈
【黑馬程序員濟南】小魯哥哥全學科技術整合帖(一貼在手!天下我有!)
黑馬,加油!