亲,java的界面不太受欢迎哦~~大概按你要求做了,看看吧~~
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JEditorPane;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;
public class yoyo extends JFrame{
public static void main(String[] args){
yoyo yo=new yoyo();
yo.show();
}
public yoyo(){
setDefaultCloseOperation(EXIT_ON_CLOSE);//设置退出时结束程序
setTitle("计算阶层和");
setSize(400, 250);
setLocation(100, 100);//坐标
//把控件实例化
final JEditorPane edit=new JEditorPane();
final JButton button=new JButton("计算和");
final JTextArea area=new JTextArea(null, "", 8, 18);
JPanel myPanel1=new JPanel();//这个是第一行的布局
myPanel1.add(new JLabel("请输入整数n:"),BorderLayout.WEST);
myPanel1.add(edit,BorderLayout.CENTER);
myPanel1.add(button,BorderLayout.EAST);
JPanel myPanel2=new JPanel();//这个是第二行的布局
myPanel2.add(new JLabel("1至n的阶乘和是:"),BorderLayout.WEST);
myPanel2.add(area);
//把上面的布局加入画布中
this.add(myPanel1,BorderLayout.NORTH);
this.add(myPanel2,BorderLayout.CENTER);
//上面已经把界面做出来了,接下来监听按钮
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
int n=Integer.valueOf(edit.getText());//得到edit里的值n
int result=0;
for(int i=1;i<=n;i++){
int a=1;
for(int j=1;j<=i;j++){
a*=j;
}
result+=a;
}
area.setText(result+"");
}
});
}
}
下面效果图:
要完整的程序啊,使用了哪些Swing中的组件?
事件处理方法??
帮帮忙 我是菜鸟 马上要交了
按钮注册监听器的语句,使用了哪些Swing中的组件?事件处理方法??
帮帮忙 我是菜鸟 马上要交了请完善后立马采纳并加200分,速度
我要完整的程序,最好附运行结果图,再加100分
追答public int sumI(Integer i,Integer j){
j=j-1;
i=i*j;
if(j!=1){
i=sumI(i,j);
}
return i;
}
这个是算法方法,我不用swing,所以不能给你写出来了
传入的两个值就是你题目中的N,都是N
比如10的就都写10
但是100的阶乘太大了,59是最大的了,再大就算不了了
java中怎么实现阶乘,如计算1~100的阶乘
int result = 1;for (int i = 1; i <= 100; i++) { result *= i;} System.out.println(result);} } 输出结果为0,因为int无法保存下100的阶乘的结果,100的阶乘的长度至少大于50位,也要大于long,double 二.使用BigInteger大容量运算类 view plaincopy to clipboardprint?import java.math...
求java高手指导下面这个求1到100阶乘的和的程序哪出错了?新手,感谢...
把int sum=1;写到第一个for里面就可以 算阶乘的话用递归方法比较好。public static void main(String[] args) { int product=0;for(int i=1;i<=100;i++){ product+=factorial(i);} System.out.println("product=" + product);} public static int factorial(int n) { int product=0;i...
1-100阶乘之和(java程序)
import javax.swing.JTextArea;public class yoyo extends JFrame{public static void main(String[] args){yoyo yo=new yoyo();yo.show();}public yoyo(){setDefaultCloseOperation(EXIT_ON_CLOSE);\/\/设置退出时结束程序setTitle("计算阶层和");setSize(400, 250);setLocation(...
1!+2!+3!+…100!的阶层求和,用JAVA编程怎么编写出来,高手指点下,谢谢了...
我编写的是 1-10 的阶乘求和 ,如果是 1-100 的话 还要解决科学计数的问题(解决办法是使用字符串,具体的你可以从网上搜下)public class JieCheng { public static void main(String[] args){ int sum = 0;for(int i=1;i<=10;i++){ int m = 1;System.out.print(m);for(int j =...
编写一个java程序,计算1+2!+3!+4!+……前100项之和
public class 阶乘和 { public static void main(String[] args) { int ji=1;int sum =0;for(int i=1;i<=10;i++) { ji=ji*i;sum = sum+ji;System.out.println(ji);} System.out.println("和为:"+sum);} } 这是小于10 的,他的和为4037913 ,所以100 你得改数据类型,太...
[急!]java 求100阶乘各位数的和 已有答案,求解释!
{ big = big.multiply(new BigDecimal(i++)); \/\/每次都用i的阶乘的结果取乘以i+1,得到i+1 \/\/的阶乘,比如:i=1时, \/\/big=1*2 时, big=1*2*3,最后得到100的阶乘 } String str = big.toString(); \/\/把100的阶乘转换成字符串 System.out.println("Result: " + ...
用do while循环编程求1到100阶乘的和
public static void main(String[] args){ JieCheng jc= new JieCheng();jc.go();} public void go(){ long sum=0;\/\/定义阶乘总和 long temp=1;\/\/定义存放阶乘的变量 int i=1;do{ temp=i*temp;sum=sum+temp;i++;}while(i<=100);System.out.println("100以内的阶乘总和是"+sum);}...
用java语言求100的阶乘
100的阶乘要用bigdecimal才可以 import java.math.BigDecimal;public class Information { public static void main(String[] args) { BigDecimal bg = new BigDecimal(1L);int i = 1;while(i <= 100){ bg = bg.multiply(new BigDecimal(i++));} System.out.println(bg.toString());} } ...
求Java写的100的阶乘
100的阶乘int是存不了的,要用大数类:import java.math.BigDecimal;public class Test { public static void main(String args[]){ BigDecimal result= new BigDecimal(1);for(int i=1;i<=100;i++){ BigDecimal i_value= new BigDecimal(i);result = result.multiply(i_value);} System.out...
java求1到N的阶乘的和,N等于一百,初学JAVA,求程序代码
public static void main (String[] args) { double sum=0,sumt,i,j;for(i=1;i<=100;i++){ for(j=1,sumt=1;j<=i;j++){ sumt*=j;} sum+=sumt;System.out.println(i+" "+sum+" "+sumt);} } } 如果实在要求这么大的阶乘 可以用数组方式解决 给你贴段代码 以前网上某位写...