台灣最大程式設計社群網站
線上人數
795
 
會員總數:245985
討論主題:189565
歡迎您免費加入會員
討論區列表 >> Java >> 可請各位大大幫幫忙註解這些以下程式碼的意思,謝謝><
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
可請各位大大幫幫忙註解這些以下程式碼的意思,謝謝><
價值 : 40 QP  點閱數:1611 回應數:9
樓主

雪飲
門外漢
0 4
60 5
發送站內信

import javax.swing.JFrame;//建立一個JFrame視窗
import javax.swing.JButton;//在JFrame上建立一個JButton
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

import java.util.Timer;
import java.util.TimerTask;

public class NewMain extends JFrame {
public JButton btn;
public final int btnSideLen = 60;
public double btnX, btnY, vx, vy;
public int crashTimes;

public NewMain() {
this.setTitle("123");//視窗名稱
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//設定JFrame按下叉叉關閉鈕可以關閉程式。
this.setSize(450, 500);//設定JFrame的視窗大小。
this.setResizable(false);//關閉JFrame能更變視窗大小的功能。
this.setLayout(null);//確定視窗在什麼位置,它不隨面板大小的改變而改變。

btnX = getWidth() / 2.0;
btnY = getHeight() / 2.0;
vx = Math.sin(1) * 5;
vy = Math.cos(1) * 5;
btn = new JButton("" + crashTimes);
btn.setBounds((int) btnX, (int) btnY, btnSideLen, btnSideLen);

btn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
double theta = Math.random() * 2 * Math.PI;
vx = Math.sin(theta) * 5;
vy = Math.cos(theta) * 5;
}
});

this.add(btn);
this.setVisible(true);
Timer timer = new Timer();
timer.schedule(new RunningButton(), 1000, 20);
}

class RunningButton extends TimerTask {
public void run() {
boolean crash = false;
if (btnX + vx < 0) {
vx = -vx;
crash = true;
}
if (btnX + vx + btnSideLen >= getWidth()) {
vx = -vx;
crash = true;
}
if (btnY + vy < 0) {
vy = -vy;
crash = true;
}
if (btnY + vy + btnSideLen >= getHeight()) {
vy = -vy;
crash = true;
}
if (crash) {
crashTimes++;
btn.setText("" + crashTimes);
}
btnX += vx;
btnY += vy;
btn.setBounds((int) btnX, (int) btnY, btnSideLen, btnSideLen);
// repaint();
}
}

public static void main(String[] args) {
new NewMain();
}
}

本篇文章發表於2014-06-15 09:31
1樓
回應

香帥
檢舉此回應
建議您身邊要有本java工具書,像翻字典一樣可以查函數功能
遇到不會再問,這樣比較能夠吸收,不是全部簡單的都還要註解,也蠻奇怪及費功夫的
本篇文章回覆於2014-06-15 17:10
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

四百龍銀
檢舉此回應
本篇文章回覆於2014-06-16 13:27
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

Raymond
檢舉此回應

這不叫註解, 這叫贅文, 除了降低程式的可讀性外, 一點作用都沒有. 還不如不註解, 至少程式看起來乾淨.


這類註解也沒有什麼太大的意義, 因為你無非是重複了 Java Documentation 裡的東西而已. 不知道setResizable() 的作用的人只要去相關的說明文件就可以知道它的作用. 正確的註解不是重複某個函式的作用, 而是解釋為什麼要這麼設定.

註解不是給完全不懂 Java 語言或 Swing 的人學習的, 有一種東西叫課本, 或教學書, 那些才是學習的工具.

註解是給需要了解你程式為什麼要這麼設計的人看的, 比方說需要維修, 更新, 展延程式功能的人, 他們需要明白原程式要這麼做的原因, 或是使用了什麼特殊的邏輯運算.

如果要一句一句的用白話文來翻譯程式碼, 這類註解只是玩笑.

本篇文章回覆於2014-06-17 08:03
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

雪飲
檢舉此回應
其實不要幫忙真的沒關係,講那麼多道理還是這樣?你們可以選擇不要回啊?誰不知道要看課本?就是不懂才請人幫忙。難道你法律看了就懂了嗎?那你幹嘛還闖紅燈?幹嘛不在白線停車?幹嘛還酒駕?你們沒看法規嗎?講道理都會說,每個人要往的方向不一樣,我又沒要當工程師,只是了解這些程式碼為何要這樣打。想請問我會開飛機,請問你們會嗎?不會是不知道有課本這東西嗎?這麼簡單又可以自動駕駛怎不會開?
本篇文章回覆於2014-06-17 23:30
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

Raymond
檢舉此回應
>我又沒要當工程師,只是了解這些程式碼為何要這樣打
那你應該針對你不懂的, 想要了解的句子來發問, 而不是貼出整個程式來求註解.

如果我這樣註解:

這對你了解程式有幫助嗎?

本篇文章回覆於2014-06-18 06:13
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

雪飲
檢舉此回應
為何沒有?裡面注解是去看課本找到的,其它不知道為何要這樣打,難道我不能一次問完?只能一個一個程碼慢慢打?那你問別人事情是一個一個慢慢問完嗎?這樣要問到民國幾年?學英文不是也是嗎?難道你一開始就都會了,都不用學都不用問?都不用整句翻譯就跟原本的單字意思一樣了嗎?
本篇文章回覆於2014-06-18 08:46
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應
Dear 雪飲

建議通常學習東西,由其是這麼方便的網路時代
當有疑問時,可以先在網路上,以關鍵字搜尋一下
網路上的資源非常的豐富,透過關鍵字搜尋,應該大部分都可以找到答案

真的找不到,或者找得到但是有疑惑、不清楚的部分(由其是觀念性的)
再以謙卑學習的態度,向大家請教

相信如果是容易混淆、觀念性的東西,有所不清楚的話,網路上的大大們都會樂意對於謙卑有禮、好學態度的人,給與相關的資訊
(資訊也許是一些文章的連結)
抱持的謙卑學習的態度,相信會獲得更多

為何沒有?裡面注解是去看課本找到的,其它不知道為何要這樣打,難道我不能一次問完?只能一個一個程碼慢慢打?那你問別人事情是一個一個慢慢問完嗎?這樣要問到民國幾年?學英文不是也是嗎?難道你一開始就都會了,都不用學都不用問?都不用整句翻譯就跟原本的單字意思一樣了嗎?


學習過程中,有找到的,註解上去,小喵覺得很好
但是更多的部分,是要去思考的
去實驗、去測試的
學習程式語言,與學習英文、日文不一樣
不是把英翻日端道你面前,您就能夠學會的

很多東西去【試試看】,就能夠理解
語法不清楚,網路上的資源也相信足夠應付您目前的疑問

加油,電腦拿起來,試著一步步的去執行除錯,並試著去理解
這比您在這裡詢問來得有用多了

加油
^_^
本篇文章回覆於2014-06-18 13:40
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
回應

文月魚
檢舉此回應
我稍微看了一下,感覺像是一個陽春版的飛行實驗模擬。

主要是你的動機很弔詭啊。
因為需要編寫這段程式的人看得懂,而不需要會編寫這段程式的人沒必要看得懂,
所以叫人摸不懂你既然沒要當工程師為什麼要看懂他。
我想你不會花費時間長篇大論和我們解釋甚麼叫做空氣動力學和發動機學吧?

你如果原因不說出來,為什麼別人要花時間幫你去了解呢?
這感覺就像是直接要作業一樣,實在令人心冷。

好吧,剛好我也在等下班,
如果你執意要註解的話...


本篇文章回覆於2014-06-18 17:43
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
回應

Raymond
檢舉此回應
to 樓主:
請注意你的態度.

這裡是討論區, 是當你在學習上有疑惑, 觀念上有問題, 或寫程式遇到困難時, 可以尋求其他有經驗的大大們解惑, 釐清概念, 幫助你解決程式上遇到的問題的地方. 討論區的格式造成它不適合當成教學之處, 更不能取代課本及課室裡的學習.

討論區也不是討要作業的地方 (「作業」並不限於學校功課, 任何需要你自己完成的工作都是「作業」), 因為討要作業的人看不出有學習意願. 在這裡幫助回覆問題的大大們都是義務服務的, 他/她們不欠你什麼, 對於沒有學習意願的人, 憑什麼得到大大們的幫助!? 上課時幫你做作業, 以後共事時是不是也要幫你做你那份? 你會把你的薪水給他一份嗎?

本篇文章回覆於2014-06-18 21:53
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.