}
3. 计算某年、 某月、某日和某年、 某月、 某日之间的天数间隔。
要求年、月、日通过 main 方法的参数传递到程序中。
答: import java.util.*;
class Test
{
public static void main(String args[])
{
Calendar c=Calendar.getInstance();
c.set(2000,0,1);
long time1=c.getTimeInMillis();
c.set(2008,7,8);
long time2=c.getTimeInMillis();
long
dayCous=(time2-time1)/(1000*60*60*24);
System.out.println("2008 年 8 月 8 日和
2000 年 1 月 1 日相隔 "+dayCous+" 天 ");
}
}
5. 使用 BigInteger 类计算 1!+3!+5!+7!+, 的前 30 项的和。
答: import java.math.*;
public class Test
{
public static void main(String args[])
{
BigInteger sum=new
BigInteger("0"),
jieCheng=new BigInteger("1"),
ONE=new BigInteger("1"),
i=ONE;
int k=0;
while(++k<=30)
{
sum=sum.add(jieCheng);
i=i.add(ONE);
jieCheng=jieCheng.multiply(i);
i=i.add(ONE);
jieCheng=jieCheng.multiply(i);
}
System.out.println(sum);
}
}
4. 编写应用程序,有一个标题为“计算的窗口”的窗口,窗口
的布局为 FlowLayout 布局。窗口中添加两个文本区,当我们在
一个文本区中输入若干个数时,另一个文本区,同时对输入的数
进行求和运算并求出平均值,也就是说随着输入的变化,另一个
文本区不断地更新求和及平均值。
答: import java.awt.*;
import java.awt.event.*;
import java.util.*;
class Calculated extends Frame implements
TextListener
{
TextArea text1,text2; // 定义了 2 个文本区
Calculated(String s) // 标题为“计
算的窗口”的窗口
{
super(s);
setLayout(new FlowLayout()); // 窗
口布局为 FlowLayout
text1=new TextArea(5,23);
text2=new TextArea(5,23);
add(text1);
add(text2);
text2.setEditable(false); // 显示求
和结果和平均值的文本区禁止编辑
text1.addTextListener(this);
addWindowListener(new WindowAdapter()
{
public void
windowClosing(WindowEvent e)
{
System.exit(0);
}
}
);
setBounds(100,100,400,160);
setVisible(true);
validate();
}
public void textValueChanged(TextEvent e)
{
String s=text1.getText();
StringTokenizer geshu=new
StringTokenizer(s);
int n=geshu.countTokens();
double a[]=new double[n];
for(int i=0;i<n;i++)
{
String temp=geshu.nextToken();
double date=Double.parseDouble(temp);
a[i]=date;
}
double sum=0,average;
for(int i=0;i<n;i++)
{
sum=sum+a[i];
}
average=sum/n;
text2.setText(null);