一點心情,寫java結課考試之前

來源:互聯網
上載者:User

突然發現,已經好久沒有上來寫blog了,本來還以為能夠天天寫,後來發現,確是心有餘力而不足啊。學期進入中段,課業慢慢多了,各種各樣的事情也接踵而來了。本學期的Java課程也已經結課了,8周32個學時,時間過得好快。前段時間我還在這裡講述自己的Java學習曆程,現在已經要面對考試了。當然,我不懼怕考試。

我的作業,寫完了,全部是自己寫的,我感到很欣慰。身邊的問題也開始慢慢變得多起來,是同學問的,還有5天就要考試了,大家都在努力複習。我很感謝問我問題的同學,從他們的問題中,我找到了很多自己的不足,找到了許多自己概念模糊的地方,這些,都是考試前最好的複習。所以,我每次都很耐心地解答他們的問題。同時,我也無償的把我的全部作業都提供給需要的同學。我知道,有些同學對這個實在沒有興趣,就像我對物理沒有興趣一樣,但是我們還是要面對考試。所以,我盡量把注釋寫得詳細,讓他們能看懂,考試是開卷的,他們也可以拿去參考。能不能用得上,就要看自己的造化了。其實,我說的是心裡話。

學習的動力只有兩種,一是壓力,一是興趣。8周32個學時,去除8個上機時間,只有24個小時。一天!把Java學到家?不可能!所以只能有壓力,要考試了,不得不學;要做項目了,不得不學;要工作了,不得不學。不過,我還是喜歡從興趣方面入手。學院的很多同學都喜歡打遊戲,電腦學院的電腦普及率是相當可觀的,但是僅僅是打遊戲,未免有些浪費了。我也喜歡遊戲,不過基本上不上癮。有空的時候,我會和宿舍的同學玩玩cs,或者C&C ZeroHour(呵呵,這個遊戲我是高手!),或者三國無雙,不過該學習的時候還是學習。遊戲不應該過頭,身邊有些同學因為遊戲而墮落,雖然我是局外人,不過有時還是想拉他們一把。其實,如果能對遊戲世界的內部感興趣的話,我覺的也是一件好事。我想說的是遊戲編程。

估計有些人都聽過robocode,這是一個IBM alphaWorks支援的項目,是一個半成品化的機器人對戰平台。由於五一之後要參加學校組織的機器人比賽,所以最近解了一些這方面的情況。我認為,如果對java有一定的瞭解,學過一些基本知識,robocode能夠很好地提升你對java學習的興趣。簡短的代碼,清晰的結構,但是裡面蘊含著豐富的知識,包括數學知識、策略知識、編程知識……再深入一點,可以看看robocode的對戰平台的結構是怎樣的,或者試圖反編譯一下,看看原始碼,這些對於學習來說都是大有裨益的。

呵呵,有點扯遠了,其實今天寫作的意圖為‘空’,原來下午第一節是Java,這個時候是中午休息的時候,不過既然下午沒有課了,就順便上來寫寫自己的心情,想到之處順筆帶過,沒有章節,沒有條理,不知道你是否滿意。以後,還會經常上來這裡寫文章的。幾周之前,想寫一些教程發上來,不過落筆的時候,才發現自己的功力有限,估計是看了BruceEckel的書多了的緣故罷,養成了一種嚴謹的習慣,便也不好意思在這裡毒害群眾了。

最後,發一段原始碼上來,是我的某一次Java作業,呵呵,僅當作為結課的紀念吧。

/* * Created on 2005-4-14 * 視窗分為上下兩個區,分別運行兩個線程,一個在上面的地區中顯示 * 由右向左遊動的字串,另一個在下面的地區從左向右遊動的字串. */

/** * 作者:龍震嶽 * 學院:電腦與資訊技術學院 * 班級:計科0308 */

import java.awt.*;import java.util.*;import javax.swing.*;

class MoveFrame extends JFrame {

 private static final long serialVersionUID = 1L;

 private JPanel jp1 = new JPanel(), jp2 = new JPanel();  /**  * 定義兩個Canvas的內部類。  * 剛開始的用後用panel,發現畫完之後會留有痕迹,  * 每次畫完還要擦除,很不爽,所以改用Canvas,呵呵。  **/  private Canvas cv1 = new Canvas() {  private static final long serialVersionUID = 1L;

  int x = 0, y = 70, maxX = 640, minX = 0;

  boolean isToEnd1 = false;  // 碰到邊就返回的演算法,很簡單的啦。  public void paint(Graphics g) {   if (!isToEnd1) {    g.drawString("向右移動", x, y);    x += 10;    if (x >= maxX)     isToEnd1 = true;   } else {    g.drawString("向左移動", x, y);    x -= 10;    if (x <= minX)     isToEnd1 = false;   }  } },   cv2 = new Canvas() {  private static final long serialVersionUID = 1L;

  int x = 640, y = 70, maxX = 640, minX = 0;

  boolean isToEnd2 = false;

  public void paint(Graphics g) {   if (!isToEnd2) {    g.drawString("向左移動", x, y);    x -= 10;    if (x <= minX)     isToEnd2 = true;   } else {    g.drawString("向右移動", x, y);    x += 10;    if (x >= maxX)     isToEnd2 = false;   }  } };

 private int x1 = 0, x2 = 0;

 private Thread t1, t2;  // 定義兩個隨機的變數,使它們休眠的時間不一樣 private Random rand1 = new Random();

 private Random rand2 = new Random();

 private void move1() {  t1 = new Thread() {   public void run() {    while (true) {     cv1.repaint();     x1 = rand1.nextInt(100);     try {      sleep(x1);     } catch (InterruptedException e) {      e.printStackTrace();     }    }   }  };  t1.start(); }

 private void move2() {  t2 = new Thread() {   public void run() {    while (true) {     cv2.repaint();     x2 = rand2.nextInt(100);     try {      sleep(x2);     } catch (InterruptedException e) {      e.printStackTrace();     }    }   }  };  t2.start(); }

 public MoveFrame() {  Container cp = getContentPane();  cp.setLayout(new GridLayout(2, 1));  cp.add(cv1);  cp.add(cv2);  move1();  move2();  this.setTitle("線程作業");  this.pack();  this.setSize(640, 280);  this.setVisible(true); }}

public class MovingString {

 public static void main(String[] args) {  MoveFrame mf = new MoveFrame(); }}


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.