//3.這段看不懂是是什么,定義的方法么?還有為什么要用this,指代什么呢。
10年積累的成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先建設(shè)網(wǎng)站后付款的網(wǎng)站建設(shè)流程,更有孟村免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
你注釋這的是構(gòu)造方法,這的this可以省去,指明this后面的屬性是這個(gè)類本身的屬性,構(gòu)造方法主要是用來(lái)賦初值的
//4.這是定義變量么,那后面賦值為什么是this.radius, 它和前面那一塊this.radius=r這個(gè)有什么不一樣,為什么這兩個(gè)this.radius在等號(hào)的左右位置不一樣
你這的注釋,this和上面意思一樣,這句話是說(shuō),把這個(gè)類的radius的值
賦給局部變量r,所以在右面,而在上面的構(gòu)造方法中是把參數(shù)的值賦給屬性
//關(guān)于你第5個(gè)注釋,體積公式為4/3 *PI*r*r*r(立方) 由于在注釋4中r=radius所以在這r和radius可以互換
//6 恭喜你,這就是方法的重載,他可以為你提供很多便利,你的觀察完全正確
package jac;
import java.math.BigInteger;
/**
* @author gaofeng
*/
public class TestFactorial
{
public static void main(String[] args)
{
BigInteger result = new BigInteger(""+1); //創(chuàng)建一個(gè)BIGINTEGER對(duì)象 RESULT此時(shí)的值為1
for(int i=1; i=1000; i++)
{
result = result.multiply(new BigInteger( "" + i )); //這里的方法與result=result+i;同意
}
System.out.println(result);//結(jié)果為1+1+2+3+4……+1000的值
}
}
幾年沒有碰swing了,給你詳細(xì)注釋了。仔細(xì)看。希望對(duì)你有所幫助。
import java.awt.*;//java抽象窗口工具包
import java.awt.event.*;//java抽象窗口工具包組件所激發(fā)的各類事件的接口和類
public class Test5{//類名
Frame f;//定義一個(gè)Frame窗體
TextArea center;//文本域
Label la1,la2,la3;//三個(gè)標(biāo)簽
Panel east,south,north;//三塊面板
Button b1,b2,b3,b4;//四個(gè)按鈕
Choice l1;//下拉單選框
TextField t1;//文本域
// textfield只有一行可寫
// textarea是一個(gè)區(qū)域,可以有很多行
public static void main(String[] args){//主函數(shù),程序入口
Test mb = new Test();
mb.go();//調(diào)用go方法,初始化界面
}
private void go(){
f = new Frame("留言版程序");//標(biāo)題
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent evt){
f.setVisible(false);
System.exit(0);
//System.exit(0) 0--正常結(jié)束程序 1--異常關(guān)閉程序
}
});
f.setBounds(0,0,600,400);//布局大小
f.setLayout(new BorderLayout());//顯示方式
f.setResizable(false);
//下面都將控件按鈕初始化,你懂得
north = new Panel();
south = new Panel();
east = new Panel();
center = new TextArea("留言內(nèi)容:");
center.setEditable(false);
b1 = new Button("清屏");
b2 = new Button("至頂");
b3 = new Button("至尾");
la1 = new Label("留言版");
la2 = new Label("你");
la3 = new Label(" 地說(shuō):");
t1 = new TextField(20);
b4 = new Button("提交");
l1 =new Choice();
l1.add("微笑 ");
l1.add("生氣 ");
l1.add("傷心 ");
f.add(BorderLayout.NORTH,north);//布局
f.add(BorderLayout.SOUTH,south);//布局
f.add(BorderLayout.EAST,east);//布局
f.add(BorderLayout.CENTER,center);//布局
north.add(BorderLayout.CENTER,la1);
south.add(la2);//把東西加到面板上
south.add(l1);
south.add(la3);
south.add(t1);//把東西加到面板上
south.add(b4);
east.setLayout(new GridLayout(9,0,1,10));
east.add(b1);
east.add(b2);
east.add(b3);
f.setVisible(true);//可視化
b4.addActionListener(new ActionListener(){//點(diǎn)擊提交按鈕產(chǎn)生事件
public void actionPerformed(ActionEvent e){
String text1,text2;
text1 = l1.getSelectedItem();
text2 = t1.getText();
t1.setText(null);
if(t1.getText() != ""){//將下拉單選框的內(nèi)容和你輸入在文本框的內(nèi)容顯示在中間面板上
center.append("\n");
center.append(text1);
center.append(text2);
}
}
});
b1.addActionListener(new ActionListener(){//清屏按鈕事件,只留下中間面板顯示:“留言內(nèi)容:”,其余清楚
public void actionPerformed(ActionEvent e){
center.setText("留言內(nèi)容:");
}
});
b2.addActionListener(new ActionListener(){//至頂按鈕事件,光標(biāo)焦點(diǎn)至頂
public void actionPerformed(ActionEvent e){
center.requestFocusInWindow();
center.setCaretPosition(8);
}
});
b3.addActionListener(new ActionListener(){//至尾按鈕事件,光標(biāo)焦點(diǎn)至尾
public void actionPerformed(ActionEvent e){
center.requestFocusInWindow();
center.setCaretPosition(center.getText().length());
}
});
}
}
public class CalculatorA {
private JFrame jf;
private JButton[] jbs;
private JTextField jtf;
private JButton clear;
private double num1,num2,jieguo;
private char c;
/**
* 構(gòu)造方法實(shí)例化屬性
*
*/
public CalculatorA(){
jf=new JFrame("我的計(jì)算器v1.0"); //定義窗口的title
jtf=new JTextField(20);//定義文本域 也就是計(jì)算器的輸入和現(xiàn)實(shí)區(qū)域
clear=new JButton("clear");// 定義按鈕
jbs=new JButton[16];//定義按鈕數(shù)組
String str="123+456-789*0./=";//此處用來(lái)批量創(chuàng)建數(shù)字和元素符號(hào)。
for(int i=0; istr.length(); i++){//批量賦值。這樣做使得定義按鈕方便很多否則,你需要一個(gè)按鈕一個(gè)按鈕像上面的"clear"那樣的定義
jbs[i]=new JButton(str.charAt(i)+"");
}
init();
addEventHandler();
// setFont();
// setColor();
showMe();
}
/**
* 布局圖形界面
*
*/
public void init(){
// jf.setLayout(manager)
JPanel jp1=new JPanel();//定義面板,用來(lái)容納上面的按鈕文本域等組件
jp1.add(jtf);//將 文本域 讓如面板中
JPanel jp2=new JPanel();//定義面板,用來(lái)容納上面的按鈕文本域等組件
jp2.setLayout(new GridLayout(4,4));//定義網(wǎng)格布局,類似html 的table一個(gè)4X4的格子,然后將計(jì)算的按鈕放到這個(gè)面板中
for(int i=0; i16; i++){
jp2.add(jbs[i]);
}
JPanel jp3=new JPanel();//定義面板,用來(lái)容納上面的按鈕文本域等組件
jp3.add(clear);//將 清除按鈕 讓如面板中
jf.add(jp1,BorderLayout.NORTH);//將顯示數(shù)據(jù)面板,使用邊框布局,放置最頂端。
jf.add(jp2,BorderLayout.CENTER);//將顯示計(jì)算按鈕面板,使用邊框布局,放置中間。
jf.add(jp3,BorderLayout.SOUTH);//將顯示清除按鈕面板,使用邊框布局,放置最底端。
}
public void setFont(){
}
public void setColor(){
}
public void addEventHandler(){//創(chuàng)建監(jiān)聽事件,用來(lái)監(jiān)聽每一個(gè)按鈕,當(dāng)點(diǎn)擊后需要觸發(fā)什么事件。
ActionListener lis=new ActionListener(){
public void actionPerformed(ActionEvent e){
// TODO Auto-generated method stub
JButton jb=(JButton)e.getSource();//獲取事件源
// String key=(String)e.getActionCommand();
String str =jb.getText().trim();//把字符串的首尾空格去掉!
// String str2=e.getActionCommand().trim();//返回事件源的文本內(nèi)容
if("0123456789.".indexOf(str)!=-1){//如果是數(shù)字或點(diǎn)號(hào)
jtf.setText(jtf.getText()+str);//設(shè)置顯示文本域,也就是你點(diǎn)擊數(shù)字按鈕,在顯示文本域顯示出你點(diǎn)擊的值。
return;
}
if("+-*/".indexOf(str)!=-1){//當(dāng)點(diǎn)擊運(yùn)算按鈕觸發(fā)的事件
num1=Double.parseDouble(jtf.getText());//獲取文本域的值并轉(zhuǎn)換類型并暫時(shí)保存起來(lái)。
jtf.setText("");
c=str.charAt(0);
jtf.setText("");
return ;
}
if(str.equals("=")){//根據(jù)點(diǎn)擊的按鈕式"="號(hào)執(zhí)行結(jié)算結(jié)果
num2=Double.parseDouble(jtf.getText());
// jtf.setText("");
switch(c){
case '+': jieguo=num1+num2;break;
case '-': jieguo=num1-num2;break;
case '*': jieguo=num1*num2; break;
case '/': jieguo=num1/num2;break;
}
jtf.setText(Double.toString(jieguo)); //返回結(jié)算結(jié)果到顯示文本域
return;
}
if(e.getActionCommand().equals("clear")){
jtf.setText("");//清空顯示文本域
return;
}
}
};
for(int i=0; ijbs.length; i++){
//為每個(gè)按鈕加上監(jiān)聽類
jbs[i].addActionListener(lis);
}
clear.addActionListener(lis);
}
public void showMe(){
jf.pack();//調(diào)整此窗口的大小,以適合其子組件的首選大小和布局。
jf.setVisible(true);//設(shè)置窗口可見
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//設(shè)置程序的退出按鈕,退出即同時(shí)停止程序
}
public static void main(String[] args){//啟動(dòng)程序的入口
new CalculatorA();
}
}
這代碼注釋寫的太累人了。小窗口費(fèi)勁。給加點(diǎn)分吧。