实验由本人当时亲自完成仅供参考,希望可以帮助大家本科实验报告课程名称: Java程序设计B 实验项目: Java语言基础编程和面向对象设计实验地点:逸夫楼501 专业班级: 0000 学号: 00000000学生:氣宇軒昂指导教师:2012年 13月 13日3.9程序代码import java.util.Scanner;public class ValueFore{int n;ValueFore(){this.n=calculateN();}double stackBy(int n){int i;double s=1;for(i=1;i<=n;i++){s*=i;}return s;}double overlap(){int i;double sum=1;for(i=1;i<=this.n;i++){sum+=1/stackBy(i);}return sum;}int calculateN(){Scanner in=new Scanner(System.in);int i=1;double a=in.nextDouble();while(1/stackBy(i)>a){i++;}return i;}public static void main(String[] args){Scanner in=new Scanner(System.in);boolean b=true;while(b){System.out.println("请选择菜单:");System.out.println(" 1.计算不同精度的e值");System.out.println(" 2.退出");switch(in.nextByte()){case 1:{System.out.println("请输入精度(例如:1e-3,表示0.001):");ValueFore a=new ValueFore();System.out.println("e="+a.overlap());};break;case 2:b=false;break;}}}}运行结果说明:没有按书中的要求去求,但是这个程序功能更强,运用了菜单的方式,使用程序的人能求出不同精度的e值。
4.5程序代码public class StringText{public static void main(String[] args){String str1="I am";String str2="a student";String str3="我是中国人";StringBuffer str=new StringBuffer();str.append(str1).append(str2).append(str3);System.out.println(str);System.out.println(str.charAt(8));System.out.println(str.charAt(16));}}运行结果4.7程序代码import java.util.Scanner;public class Triangle{void printTriangle(int row){int i,j;int[][] a=new int[row][];for(i=0;i<row;i++)a[i]=new int[i+1];for(i=0;i<row;i++){a[i][0]=1;a[i][i]=1;}for(i=2;i<row;i++){for(j=1;j<i;j++){a[i][j]=a[i-1][j-1]+a[i-1][j];}}System.out.println("输出辉三角为:");for(i=0;i<row;i++){for(j=row-1;j>i;j--)System.out.print("\t");for(j=0;j<=i;j++){System.out.print(a[i][j]);if(i!=0)System.out.print("\t\t");}System.out.print("\n");}}public static void main(String[] args){Scanner in=new Scanner(System.in);Triangle num=new Triangle();System.out.print("请输入辉三角的行数:");num.printTriangle(in.nextByte());}}运行结果说明:这个程序同样也具有一定的灵活行,随意输出辉三角的行数就就可以得到不同的辉三角,比如输入6,得到如下结果:说明:输入的数可以是在精度围的任何实数,先输入两个复数后然后就可以通过菜单提示的功能去选择是要做加,减,乘,还是退出程序,比书中的要求的相对灵活一些。
实验四容(3)的程序代码:package mymaths;public interface MaxMinValue{double seekMax(double a,double b,double c);double seekMin(double a,double b,double c);}package mymaths;public class SeekMaxMinValue implements MaxMinValue{double max,min;public double seekMax(double a,double b,double c){this.max=a>b?a:(b>c?b:c);return this.max;}public double seekMin(double a,double b,double c){说明:有些繁琐,但根据提示进行就可以了实验五容(三)程序:import java.util.Scanner;public class Bank{String name;long remainder;Bank(String name,long remainder){=name;this.remainder=remainder;}long withdraeal(long getMoney) throws InsufficientFundsException{try{this.remainder=this.remainder-getMoney;if(this.remainder<0){throw new InsufficientFundsException("尊敬的"++"您的余额不足");}return this.remainder;}catch(InsufficientFundsException e){System.out.println(e.getMessage());说明:书中要求的也没有这么多功能,为了熟悉而加了这些必要的功能,从上述输入的数据中可以看书程序可以解决取钱以后卡上余额的显示,并且继续取还是取余额的钱,当余额不足是会提示信息,并且自己的余额不会变,还可以继续取钱。
实验六容(二)程序:import java.applet.*;import java.awt.*;import java.awt.event.*;public class Test1 extends Applet implements ActionListener{Button b=new Button("change");Button b1=new Button("change1");public void init(){add(b);add(b1);b.addActionListener(this);b1.addActionListener(this);}public void paint(Graphics g){Font f=new Font("宋体",Font.PLAIN,18);g.setFont(f);g.setColor(Color.blue);g.drawString("Please look at me.", 0, 30);}public void actionPerformed(ActionEvent e){if(e.getSource()==b){Graphics g = getGraphics();Font f=new Font("楷体_GB2312",Font.PLAIN,18);g.setFont(f);g.setColor(Color.black);g.drawString("Please look at me.", 0, 60);}if(e.getSource()==b1){Graphics g = getGraphics();Font f=new Font("宋体",Font.PLAIN+Font.ITALIC,18);g.setFont(f);g.setColor(Color.green);g.drawString("Please look at me.", 0, 90);}}}运行结果说明:按钮change按下出来黑字体,按钮change1按下出来绿色字体。
{int x=e.getX();int y=e.getY();f.append("Push at ("+x+","+y+")\n");}});}}运行结果说明:当鼠标指向左边区域时,相应的坐标位置打印在文本区域。
实验七实验容(三)程序:import java.awt.*;import java.awt.event.*;public class ClickMe{Frame f;Button btn;int a=1;public void chushihua()点击后:再点击后:说明:此程序是通过修改标签来达到书中的目的的,点击后将会不停地再变。
实验容五程序:import java.awt.*;import javax.swing.*;import java.awt.event.*;public void mouseReleased(MouseEvent e){Graphics g=p2.getGraphics();g.drawRect(x,x,e.getX()-x,e.getX()-x);}});}}}public static void main(String[] args){GraphicsText gt=new GraphicsText();gt.initJ();}}运行结果说明:此程序由鼠标事件完成,有一定局限性。