今日學習心得之讀取資源文件

  1. public class MainActivity extends Activity {
  2.     private ListView lv;
  3.     private List<Question> qs;
  4.     
  5.     @Override
  6.     protected void onCreate(Bundle savedInstanceState) {
  7.         super.onCreate(savedInstanceState);
  8.         setContentView(R.layout.activity_main);
  9.         lv=(ListView)findViewById(R.id.listView1);
  10.         
  11.     }
  12.     private List<Question> parseQuestions() {
  13.         List<Question> qs=new ArrayList<Question>();
  14.         InputStream in=getResources().openRawResource(R.raw.q);
  15.         try {
  16.             BufferedReader reader=new BufferedReader(new InputStreamReader(in, "GBK"));
  17.             String line;
  18.             int i=0;
  19.             Question q=null;
  20.             while((line=reader.readLine())!=null){
  21.                 switch (i++%5) {
  22.                 case 0: //獲取到了標題
  23.                     q=new Question();
  24.                     q.setTitle(line);
  25.                     break;
  26.                 case 1: //獲取到了選項A
  27.                     q.setA(line);
  28.                     break;
  29.                 case 2: //獲取到了選項B
  30.                     q.setB(line);
  31.                     break;
  32.                 case 3: //獲取到了選項C
  33.                     q.setC(line);
  34.                     break;
  35.                 case 4: //獲取到了選項D
  36.                     q.setD(line);
  37.                     qs.add(q);
  38.                     break;
  39.                 }
  40.             }
  41.         } catch (IOException e) {
  42.             e.printStackTrace();
  43.             return null;
  44.         }
  45.         return qs;
  46.     }
核心, InputStream in=getResources().openRawResource(R.raw.q);    
      BufferedReader reader=new BufferedReader(new InputStreamReader(in, "GBK"));
按行讀取。


2.  int j=0;
                for(int i=0;i<100;i++){
                j=j++;
                }
                System.out.println(j);  輸出:0


  j=j++ 這個屬於後++; 後++的運算原理是 先將值+1,然後將+1前的值賦值給=前面的變量;
  j=j++ 其實等於 坐了如下2個操作:

  1:j自己增加1 變成1;
  2 : 然後將自增前的0又賦值給j 所以j=j++ 始終爲 0
  un 設計的 JVM 工作就是 他是先執行 ++ 然後再賦值(而且賦的值是自增前的值),
人家規定好的 不是我們能改變的 執行順序固定死了

改成 j =++j 結果就不是0了,輸出100


int j=0;for(int i=1;i<100;i++) j=j++;c++裏得到j結果和c#裏怎麼不一樣?
c++裏是99;
c#裏是0;
Java裏也是0;
C++ 傳值調用
C#,Java 傳引調用.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章