//3.这段看不懂是是什么,定义的方法么?还有为什么要用this,指代什么呢。
10年积累的成都网站设计、成都网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先建设网站后付款的网站建设流程,更有孟村免费网站建设让你可以放心的选择与我们合作。
你注释这的是构造方法,这的this可以省去,指明this后面的属性是这个类本身的属性,构造方法主要是用来赋初值的
//4.这是定义变量么,那后面赋值为什么是this.radius, 它和前面那一块this.radius=r这个有什么不一样,为什么这两个this.radius在等号的左右位置不一样
你这的注释,this和上面意思一样,这句话是说,把这个类的radius的值
赋给局部变量r,所以在右面,而在上面的构造方法中是把参数的值赋给属性
//关于你第5个注释,体积公式为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); //创建一个BIGINTEGER对象 RESULT此时的值为1
for(int i=1; i=1000; i++)
{
result = result.multiply(new BigInteger( "" + i )); //这里的方法与result=result+i;同意
}
System.out.println(result);//结果为1+1+2+3+4……+1000的值
}
}
几年没有碰swing了,给你详细注释了。仔细看。希望对你有所帮助。
import java.awt.*;//java抽象窗口工具包
import java.awt.event.*;//java抽象窗口工具包组件所激发的各类事件的接口和类
public class Test5{//类名
Frame f;//定义一个Frame窗体
TextArea center;//文本域
Label la1,la2,la3;//三个标签
Panel east,south,north;//三块面板
Button b1,b2,b3,b4;//四个按钮
Choice l1;//下拉单选框
TextField t1;//文本域
// textfield只有一行可写
// textarea是一个区域,可以有很多行
public static void main(String[] args){//主函数,程序入口
Test mb = new Test();
mb.go();//调用go方法,初始化界面
}
private void go(){
f = new Frame("留言版程序");//标题
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent evt){
f.setVisible(false);
System.exit(0);
//System.exit(0) 0--正常结束程序 1--异常关闭程序
}
});
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("留言内容:");
center.setEditable(false);
b1 = new Button("清屏");
b2 = new Button("至顶");
b3 = new Button("至尾");
la1 = new Label("留言版");
la2 = new Label("你");
la3 = new Label(" 地说:");
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(){//点击提交按钮产生事件
public void actionPerformed(ActionEvent e){
String text1,text2;
text1 = l1.getSelectedItem();
text2 = t1.getText();
t1.setText(null);
if(t1.getText() != ""){//将下拉单选框的内容和你输入在文本框的内容显示在中间面板上
center.append("\n");
center.append(text1);
center.append(text2);
}
}
});
b1.addActionListener(new ActionListener(){//清屏按钮事件,只留下中间面板显示:“留言内容:”,其余清楚
public void actionPerformed(ActionEvent e){
center.setText("留言内容:");
}
});
b2.addActionListener(new ActionListener(){//至顶按钮事件,光标焦点至顶
public void actionPerformed(ActionEvent e){
center.requestFocusInWindow();
center.setCaretPosition(8);
}
});
b3.addActionListener(new ActionListener(){//至尾按钮事件,光标焦点至尾
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;
/**
* 构造方法实例化属性
*
*/
public CalculatorA(){
jf=new JFrame("我的计算器v1.0"); //定义窗口的title
jtf=new JTextField(20);//定义文本域 也就是计算器的输入和现实区域
clear=new JButton("clear");// 定义按钮
jbs=new JButton[16];//定义按钮数组
String str="123+456-789*0./=";//此处用来批量创建数字和元素符号。
for(int i=0; istr.length(); i++){//批量赋值。这样做使得定义按钮方便很多否则,你需要一个按钮一个按钮像上面的"clear"那样的定义
jbs[i]=new JButton(str.charAt(i)+"");
}
init();
addEventHandler();
// setFont();
// setColor();
showMe();
}
/**
* 布局图形界面
*
*/
public void init(){
// jf.setLayout(manager)
JPanel jp1=new JPanel();//定义面板,用来容纳上面的按钮文本域等组件
jp1.add(jtf);//将 文本域 让如面板中
JPanel jp2=new JPanel();//定义面板,用来容纳上面的按钮文本域等组件
jp2.setLayout(new GridLayout(4,4));//定义网格布局,类似html 的table一个4X4的格子,然后将计算的按钮放到这个面板中
for(int i=0; i16; i++){
jp2.add(jbs[i]);
}
JPanel jp3=new JPanel();//定义面板,用来容纳上面的按钮文本域等组件
jp3.add(clear);//将 清除按钮 让如面板中
jf.add(jp1,BorderLayout.NORTH);//将显示数据面板,使用边框布局,放置最顶端。
jf.add(jp2,BorderLayout.CENTER);//将显示计算按钮面板,使用边框布局,放置中间。
jf.add(jp3,BorderLayout.SOUTH);//将显示清除按钮面板,使用边框布局,放置最底端。
}
public void setFont(){
}
public void setColor(){
}
public void addEventHandler(){//创建监听事件,用来监听每一个按钮,当点击后需要触发什么事件。
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();//返回事件源的文本内容
if("0123456789.".indexOf(str)!=-1){//如果是数字或点号
jtf.setText(jtf.getText()+str);//设置显示文本域,也就是你点击数字按钮,在显示文本域显示出你点击的值。
return;
}
if("+-*/".indexOf(str)!=-1){//当点击运算按钮触发的事件
num1=Double.parseDouble(jtf.getText());//获取文本域的值并转换类型并暂时保存起来。
jtf.setText("");
c=str.charAt(0);
jtf.setText("");
return ;
}
if(str.equals("=")){//根据点击的按钮式"="号执行结算结果
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)); //返回结算结果到显示文本域
return;
}
if(e.getActionCommand().equals("clear")){
jtf.setText("");//清空显示文本域
return;
}
}
};
for(int i=0; ijbs.length; i++){
//为每个按钮加上监听类
jbs[i].addActionListener(lis);
}
clear.addActionListener(lis);
}
public void showMe(){
jf.pack();//调整此窗口的大小,以适合其子组件的首选大小和布局。
jf.setVisible(true);//设置窗口可见
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置程序的退出按钮,退出即同时停止程序
}
public static void main(String[] args){//启动程序的入口
new CalculatorA();
}
}
这代码注释写的太累人了。小窗口费劲。给加点分吧。