Java上机10
- 格式:docx
- 大小:19.40 KB
- 文档页数:4
Java上机要求(10月18日)1、(选做)P88 例题,P91例题2、(必做)P109 3.10.13、(必做)编写一个Java程序,在程序中定义一个Student类,并且完善Student类的结构。
按模板要求,将【代码1】~【代码5】替换为相应的Java程序代码。
//Student.javapublic class Student{String name;int age;【代码1】//定义一个整型属性Chinese【代码2】//定义一个整型属性Math【代码3】//定义一个整型属性Englishint total(){【代码4】//返回Chinese、Math及English3个整型属性的总和}int average(){【代码5】//返回Chinese、Math及English3个整型属性的平均值}}4、(必做)在上题的基础上,创建Student类的两个实例,并访问他们的属性和方法。
将其属性和方法值输出。
5、(必做)完善以下程序,主要是考查继承关系中子类调用父类中特定的构造方法问题,如果父类中有多个构造方法时,如何才能调用父类中某个特定的构造方法呢?其做法就是在子类的构造方法中通过super()来调用父类特定的构造方法。
以Person作为父类,创建学生子类Student,并在子类中调用父类里某指定的构造方法。
根据提示来完成程序。
//app3_2.java 调用父类中的特定构造方法class Person //定义Person类{【代码1】//定义私有变量name;【代码2】//定义私有变量age;public Person() //定义无参构造方法{System.out.println("调用了Person的无参构造方法");}public Person(String name, int age) //定义有参构造方法{System.out.println("调用了Person的有参构造方法");【代码3】【代码4】}public void show(){System.out.println("姓名:"+name+" 年龄:"+age);}}【代码5】//定义继承自Person类的子类Student{private String department;public Student() // Student的无参构造方法{System.out.println("调用了学生的无参构造方法Student()");}public Student (String name,int age,String dep) //定义Student 的有参构造方法{【代码6】//调用父类的有参构造方法department=dep;System.out.println("我是"+department +"的学生");System.out.println("调用了学生的有参构造方法Student(String dep) ");}}public class app3_2 //主类{public static void main(String[] args){【代码7】//创建对象stu1,并调用无参构造方法【代码8】//创建对象stu2,并调用有参构造方法stu1.show();stu2.show();}}6、(选做)P111 3.10.27、(选做)编程创建一个Box类。
import java.util.Scanner;publicclass test1 {publicstaticvoid main(String[] args) {System.out.println("输入一个正整数");Scanner in = new Scanner(System.in);int n = in.nextInt();//以上两句为java输入一般用的语句int sum = 0;for (int i = 1; i <= n; i++) {sum = sum + i;}System.out.println("sum=" + sum);}}import java.util.Scanner;publicclass test2 {publicstaticvoid main(String[] args) { Scanner in = new Scanner(System.in);int[] n =newint[10];int max,min,temp;System.out.println("请输入10个数");max=min=n[0]=in.nextInt();for (int i = 1; i < 10; i++) {n[i]=in.nextInt();if(n[i]>max)max=n[i];if(n[i]<min)min=n[i];}System.out.println("最大值为:"+max);System.out.println("最小值为:"+min);}}import java.util.Arrays;publicclass vector {float [] v; //属性public vector(float[] v) {this.v=v;//构造函数}public vector add(vector a)throws Exception {//传进来的是这个类的对象if(v.length!=a.v.length)thrownew Exception("向量维数不同");//如果维数不同,抛出异常for (int j = 0; j <v.length; j++) { //做一个循环,让向量的每个分量都相加v[j]=a.v[j]+v[j];}//向量分量相加,v[j]为实例化后这个类的一个成员变量,//a为这个类的一个对象,所以用a.v[j]为a这个对象对应的向量returnthis;}publicfloat dotProduct(vector a) throws Exception {if(v.length!=a.v.length)thrownew Exception("向量维数不同");//如果维数不同,抛出异常float dot=0;for (int i = 0; i <v.length; i++) {dot+=a.v[i]*v[i];}//同上addreturn dot; //这个是算向量积,所以返回的是得到的浮点数结果}public String toString() {//tostring函数只要返回值String s ="(";//先加个括号for (int i = 0; i <v.length - 1; i++) {s = s +String.format("%10.4f",v[i])+ ",";//依次在字符串s中加前n-1个向量元素,并加上逗号}//String.format("%10.4f",v[i]) format为string类的一个方法,作用是:使用指定的格式字符串和参数返回一个格式化字符串s =s+String.format("%10.4f",v[v.length-1])+")";return s;}publicstaticvoid main(String[] args) {float v1[]={(float) 1.1,(float) 2.2,(float) 3.3,(float) 4.4,(float) 5.5};float v2[]={(float) 1.1,(float) 2.2,(float) 3.3,(float) 4.4,(float) 5.5};//声明两个数组vector ve1=new vector(v1);vector ve2=new vector(v2);//声明两个vector类对象try {System.out.println(ve1.dotProduct(ve2));} catch (Exception e1) {// TODO Auto-generated catch blocke1.printStackTrace();}try {ve1.add(ve2);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}System.out.println(ve1);}}publicclass Complex {float real;float imagin;//类的两个成员变量public Complex() {this.real=0;this.imagin=0;//构造函数}public Complex(float real, float imagin) {this.real = real;this.imagin = imagin;//重载的构造函数}privatestatic Complex add(Complex cp1, Complex cp2) {//add方法Complex cp = new Complex();//新建相加后的复数对象cp.real=cp1.real+cp2.real;cp.imagin=cp1.imagin+cp2.imagin;//做相加运算System.out.println(cp);//打印相加后的对象return cp;//返回相加后的复数对象}public String toString() {if(real == 0 &&imagin == 0)return"0";//当实部和虚部都为0是,输出0if(real == 0)return String.format("%10.4f", imagin)+"i";//实部为0,只需输出虚部if(imagin == 0)return String.format("%10.4f", real);//虚部为零,只需输出实部if(imagin> 0)return String.format("%10.4f", real) + "+" + String.format("%10.4f", imagin)+"i";//虚部>0用加return String.format("%10.4f", real) + "-" +String.format("%10.4f", -imagin)+"i";//虚部<0用减}publicstaticvoid main(String[] args) {Complex cp1= new Complex(1, 2);Complex cp2 = new Complex(3, -4);//实例化对象add(cp1,cp2);}}publicclass Student {long id;String name;int age;boolean sex;String phone;//声明成员变量public Student(long id, String name, int age, boolean sex, String phone) {super();this.id = id; = name;this.age = age;this.sex = sex;this.phone = phone;//构造函数}public String toString() {return"Student [name=" + name + ", phone=" + phone + "]";}publicstaticvoid main(String[] args) {Student at=new Student(411108, "hud", 20, true, "188293292");//实例化对象System.out.println(at);}}importjava.awt.BorderLayout;importjava.awt.Container;importjava.awt.FlowLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JPanel;importjavax.swing.JTextField;public class TestB2 extends JFrame {JTextField text1 = new JTextField(10);JTextField text2 = new JTextField(10);JTextField text3 = new JTextField(10);JTextField text4 = new JTextField(10);// 声明4个文本框public TestB2() {setSize(200, 200);setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setLocationRelativeTo(null);// 让窗口打开时在桌面中间JLabel label1 = new JLabel("请输入第一个数:");JLabel label2 = new JLabel("请输入第二个数:");JLabel label3 = new JLabel("请输入第三个数:");JLabel label4 = new JLabel("最小的一个数:");//新建4个标签JButton button = new JButton("执行");//新建按钮button.addActionListener(new ButtonAction());//为按钮添加事件响应Container container = getContentPane();//声明容器JPanel pane1 = new JPanel(new FlowLayout());JPanel pane2 = new JPanel(new FlowLayout());//声明两个流式面板pane1.add(label1);pane1.add(text1);pane1.add(label2);pane1.add(text2);pane1.add(label3);pane1.add(text3);pane2.add(button);pane2.add(label4);pane2.add(text4);//将组件加入各面板container.add(pane1, BorderLayout.CENTER);container.add(pane2, BorderLayout.SOUTH);//将面板加入容器中pack();}classButtonAction implements ActionListener {public void actionPerformed(ActionEvent e) {//事件响应函数double a = Double.parseDouble(text1.getText());double b = Double.parseDouble(text2.getText());double c = Double.parseDouble(text3.getText());//返回一个新的double 值,//该值被初始化为用指定String 表示的值,即把Text中的字符串转化为数组if (a < b){if (a < c)text4.setText(String.valueOf(a));}else if (b < c)text4.setText(String.valueOf(b));elsetext4.setText(String.valueOf(c));//比大小,String.valueOf(c)是把double 型的数转化为string}}public static void main(String[] args) {TestB2 tb = new TestB2();}}import java.awt.BorderLayout;import java.awt.Container;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JTextArea;import javax.swing.JTextField;publicclass TestB3extends JFrame {JTextField text1 = new JTextField(10);JTextField text2 = new JTextField(10);JTextArea text3 = new JTextArea(10, 10);// 声明三个组件,分别为两个文本框一个文本域public TestB3() {setSize(200, 200);setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setLocationRelativeTo(null);JLabel label1 = new JLabel("请输入一个大数:");JLabel label2 = new JLabel("请输入一个小数:");JButton button = new JButton("执行");// 组件的声明button.addActionListener(new ButtonAction());// 添加事件的监听Container container = getContentPane();// 声明容器JPanel pane1 = new JPanel(new FlowLayout());JPanel pane2 = new JPanel(new FlowLayout());// 声明两个面板pane1.add(label1);pane1.add(text1);pane1.add(label2);pane1.add(text2);pane2.add(button);pane2.add(text3);// 面板中加组件container.add(pane1, BorderLayout.CENTER);container.add(pane2, BorderLayout.SOUTH);// 把面板放入容器pack();}class ButtonAction implements ActionListener {publicvoid actionPerformed(ActionEvent e) {text3.setText("");// 先把结果栏清空int a = Integer.parseInt(text1.getText());int b = Integer.parseInt(text2.getText());// 讲输入的字符串转成整数int[] c = newint[a - b];int count = 0;for (int i = b; i <= a; i++) {boolean flag = true;for (int j = 2; j <= Math.sqrt(i); j++) {// 验证素数只要除到他的平方根if (i % j == 0) {flag = false;break;}}// 如果能整除,就不是素数if (flag && i != 1)// 除了1和其本身,不能整除c[count++] = i;// 用c数组记录是素数的数}for (int i = 0; i < count; i++) {if (i % 10 == 9)text3.setText(text3.getText() + "\n");// 每10个换行elsetext3.setText(text3.getText() + c[i] + ", ");// 不是10个用逗号隔开}}}publicstaticvoid main(String[] args) {TestB3 tb = new TestB3();}}importjava.awt.BorderLayout;importjava.awt.Container;importjava.awt.FlowLayout;importjava.awt.GridLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JPanel;importjavax.swing.JTextField;public class TestCaculator8 extends JFrame implements ActionListener {Container container = getContentPane(); //创建一个容器对象GridLayoutlayDigital = new GridLayout(3,4); //设置layDigital的布局为3行4列的网格JLabel j1=new JLabel("Connect Number"); // 新建一个标签JTextField result=new JTextField(10); //新建一个文本框JButton sure=new JButton("确定");//新建一个确定按钮JButton esc=new JButton("取消");//新建一个取消按钮JPanel J2=new JPanel(new FlowLayout());//新建名为j2的面板,它的布局是流式JPanel front=new JPanel(new FlowLayout());//新建名为front的面板,它的布局是流式JPanelpDigital = new JPanel(layDigital);//新建名为pDigital的面板,他的布局是3*4的网格JButton[] bDigtal = {new JButton("0"), new JButton("1"), new JButton("2"),newJButton("3"), new JButton("4"), new JButton("5"),newJButton("6"), new JButton("7"), new JButton("8"),new JButton("9"), new JButton("*"), new JButton("#") };//新建12个按钮public static void main(String[] args) {TestCaculator8 tc = new TestCaculator8();//实例化对象unchFrame();//调用tc的lanuchFrame方法}public void launchFrame() {setLocation(400, 400);setTitle("计算器");container.setLayout(new BorderLayout());//设置这个容器的布局管理器为边界分布管理器for (int i = 0; i <bDigtal.length; i++) {pDigital.add(bDigtal[i]);//把数字按钮添到面板中bDigtal[i].addActionListener(this);//为数字按钮添加动作监听器}sure.addActionListener(this);esc.addActionListener(this);front.add(j1);//在流式面板front中添加j1标签front.add(result);//在流式面板front中添加result文本框J2.add(sure);//在流式面板J2中添加确定按钮J2.add(esc);//在J2面板中添加取消按钮container.add(front,BorderLayout.NORTH);//在容器中添加front面板,为边界布局管理器,在屏幕的上方container.add(pDigital, BorderLayout.CENTER);//在容器中添加pDigital面板,为边界布局管理器,在屏幕的中间container.add(J2,BorderLayout.SOUTH);//在容器中添加J2面板,为边界布局管理器,在屏幕的下方pack();//使setVisible(true);}public void clear() {result.setText("");//设置result文本框的内容j1.setText("Connect Number");}public void actionPerformed(ActionEvent e) { //事件响应函数,当出发上面的事件监听时调用String s = e.getActionCommand(); //获取与当前命令相关的命令字符串String sResult = result.getText();//设置sResult为当前文本框的内容switch(s){case "0":case "1":case "2":case "3":case "4":case "5":case "6":case "7":case "8":case "9":case "*":case "#":result.setText(s+sResult);//当按下的是以上按钮时,将它加入文本框中break;case "确定":j1.setText("connecting");//设置标签文字break;case "取消":clear(); //实现clear方法break;}}}importjava.awt.Container;importjava.awt.GridLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JButton;importjavax.swing.JComboBox;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JTextField;public class TestComputer9 extends JFrame {Container container = getContentPane();//创建一个容器对象GridLayout G1 = new GridLayout(6, 1);//设置G1为6行1列的网格JLabel j1=new JLabel("计算无理数e的近似值");//新建标签JLabel j2=new JLabel("给出选项n:");//新建标签JLabel j3=new JLabel("近似值");//新建标签JButton b1=new JButton("执行");//新建按钮public JComboBoxjc = new JComboBox();//新建选择框JTextFieldjt=new JTextField(20);//新建文本框public static void main(String[] args) {TestComputer9 tc = new TestComputer9();unchFrame();}public void launchFrame() {int n=20;setLocation(400, 400);setTitle("计算器");for (int i = 1; i <=n; i++) {jc.addItem(i);}b1.addActionListener(new Myactionlistener());//为执行按钮添加事件的监听container.setLayout(G1);//在容器中设置布局管理器为G1的6*1container.add(j1);//添加j1组件container.add(j2);//添加j2组件container.add(jc); //添加jc组件container.add(j3);//添加j3组件container.add(jt);//添加jt组件container.add(b1);//添加b1组件jt.setEditable(false);//设置选择框不可编辑pack();setVisible(true);}classMyactionlistener implements ActionListener{public void actionPerformed(ActionEvent e) {int b=1;double a=1;String s = e.getActionCommand(); //获取与当前命令相关的命令字符串int n=(int)jc.getSelectedItem();//返回当前所选项for (int j = 1; j<=n ; j++) {b=b*j;a=a+1.0/b;}//利用展开式计算jt.setText(String.valueOf(a));}//设置文本框的内容为a的字符串形式}}。
<一>
1.编写程序,包括一个文本域和三个命令按钮,按钮标题分别为红色、黄色和蓝色,单击相应的按钮,将文本域的背景色设置为红色、黄色和蓝色。
2.编写程序,包括一个文本框、一个密码框和两个按钮。
按钮标题分别为确定和取消,用户在密码框中输入密码,单击确定按钮,将在密码框中输入的字符显示在文本框中。
3.编写程序,建立一个带有菜单的窗体。
当用户选择“Color”或“Style”菜单的相关选项时,标签中文字的字体和颜色会发生相应的变化。
4.编写程序,将窗口尺寸设置为不可更改,并处理窗口事件,使得点击窗口关闭按钮时,会弹出对话框,提示用户是否确定要关闭窗口。
5.编写程序,用列表框列出一些选项,设置一个按钮,点击按钮就会将所选的选项添加到另一个列表框中,其中第二个列表框中显示的已选项目可以删除。
程序运行界面如下图所示。
一、类和对象基础题(共13题)1.编写一个Java应用程序,该程序中有3个类:Lader、Circle和主类A。
具体要求如下:Lader类具有类型为double的上底、下底、高、面积属性,具有返回面积的功能,包括一个构造方法对上底、下底、高进行初始化。
Circle类具有类型为double的半径、周长和面积属性,具有返回周长、面积的功能,包括一个构造方法对半径进行初始化。
主类A用来测试类Lader和类Circle的功能。
2.按要求编写Java应用程序:(1)编写西游记人物类(XiY ouJiRenWu)其中属性有:身高(height),名字(name),武器(weapon)方法有:显示名字(printName),显示武器(printWeapon)(2)在主类的main方法中创建二个对象:zhuBaJie,sunWuKong。
并分别为他们的两个属性(name,weapon)赋值,最后分别调用printName, printWeapon方法显示二个对象的属性值。
3.编写Java应用程序。
首先定义一个描述银行账户的Account类,包括成员变量“账号”和“存款余额”,成员方法有“存款”、“取款”和“余额查询”。
其次,编写一个主类,在主类中测试Account类的功能。
4.编写Java应用程序。
首先,定义一个时钟类——Clock,它包括三个int型成员变量分别表示时、分、秒,一个构造方法用于对三个成员变量(时、分、秒)进行初始化,还有一个成员方法show()用于显示时钟对象的时间。
其次,再定义一个主类——TestClass,在主类的main方法中创建多个时钟类的对象,使用这些对象调用方法show()来显示时钟的时间。
5.编写Java应用程序。
首先,定义描述学生的类——Student,包括学号(int)、姓名(String)、年龄(int)等属性;二个方法:Student(int stuNo,String name,int age) 用于对对象的初始化,outPut()用于输出学生信息。
《互联网软件应用与开发》实验指导书目录一、Java语言实验机器与环境 (1)(一)计算机的硬件配置 (1)(二)计算机的软件配置 (1)二、JDK1.3.1的安装和设置 (1)(一)下载JDK1.3.1 (1)(二)安装JDK1.3.1 (1)(三)配置环境变量 (6)(四)测试安装 (7)三、JDK开发工具简介 (7)四、Java程序开发步骤 (7)(一)编辑 (8)(二)编译 (8)(三)运行 (8)五、上机实验 (8)实验1:学会简单的开发 (8)1.实验目的 (8)2.实验内容 (9)实验2:Java程序控制 (10)1.实验目的 (10)2.实验内容 (10)实验3:由键盘输入数据 (12)1.实验目的 (12)2.实验内容 (12)实验4:类与方法 (13)1.实验目的 (13)2.实验内容 (13)实验5:一个实用的Java Applet (14)1.实验目的 (14)2.实验内容 (15)实验6:多线程与异常处理 (16)1.实验目的 (16)2.实验内容 (16)一、Java语言实验机器与环境(一)计算机的硬件配置PC系列微机,包括286、386、486、奔腾及各种兼容机,要求内存为64M 以上,一个硬盘驱动器和一个软盘驱动器。
80列字符监视器。
配备鼠标器。
(二)计算机的软件配置DOS6.22或Windows 98、Windows xp、Windows 2000。
JDK1.3.1的安装软件j2sdk-1_3_1_02-win.exe二、JDK1.3.1的安装和设置(一)下载JDK1.3.1JDK开发工具包可以免费下载。
下载网址——/product下载如下文件:j2sdk-1_3_1_02-win.exe。
(二)安装JDK1.3.1由于目前大多数用户使用的是Window 98 操作系统,所以我们以在Window 98 操作系统上安装JDK1.3.1为例,说明安装JDK1.3.1的过程。
JAVA上机实验题答案与解析实验一 Java程序编程1.编写一个Java应用程序,输出内容为Hello;注:文件位置位于e:\2:\Hello.java 编译:1e:2cd 2 3javac Hello.java4java Hello2.编写一个Java小应用程序,输出内容为我一边听音乐,一边学Java;第一步编写import java.awt.;import java.applet.;public class MyApplet extends Applet{public void paintGraphics g{g.drawString"我一边听音乐,我一边做java",25,25;}}第二步在DOS环境中编译....javac MyApplet.java第三步使用记事本编写<applet code=MyApplet.class height=200 width=120></applet>第四步将记事本文件名命名为MyApplet.html第五步打开MyApplet.html实验二类的定义1.编写Java应用程序,自定义Point类,类中有两个描述坐标位置的double变量x,y,利用构造方法,实现对Point 对象p1,p2初始化,p1和p2对应坐标分别为15,20,10,30;定义方法getX,getY分别获得点的横坐标和纵坐标;定义方法setX,setY分别获得点的横坐标和纵坐标;并且把p1和p2输出;public class Point {double x,y;Pointdouble x,double y{this.x=x;this.y=y;}double getX{return x;}double getY{return y;}void setXdouble x{this.x=x;}void setYdouble y{this.y=y;}public static void mainString args {Point p1=new Point15,20;//初始化Point p2=new Point10,30;}运行结果:横坐标为15.0 纵坐标为20.0横坐标为10.0 纵坐标为 30.02.编写Java应用程序,自定义Circle类,类中有两个double 变量r,s,一个类变量pi,利用构造方法实现对半径是3和5.5的初始化,自定义getArea方法实现圆面积求解;public class Circle {double s,r;public Circledouble r{this.r=r;}double get Area{this.s=pirr;return s;}public static void mainString args {Circle c1=new Circle3;Circle c2=new Circle5.5;Area ;Area;}}实验三类的继承和多态性1.1编写一个接口ShapePara,要求:接口中的方法: int getArea:获得图形的面积;int getCircumference:获得图形的周长2编写一个圆类Circle,要求:圆类Circle实现接口ShapePara;该类包含有成员变量:radius:public 修饰的double类型radius,表示圆的半径;x:private修饰的double型变量x,表示圆心的横坐标;y:protected修饰的double型变量y,表示圆心的纵坐标;包含的方法有:Circledouble radius 有参构造方法;以形参表中的参数初始化半径,圆心为坐标原点; double getRadius:获取半径为方法的返回值;void setCenterdouble x, double y:利用形参表中的参数设置类Circle的圆心坐标;void setRadiusdouble radius:利用形参表中的参数设置类Circle的radius域;在主方法中产生半径为5的圆;interface ShapePara {double getAreadouble r;double getCircumferencedouble r;}//注: Circle是在接口中建立的calss,即先建立接口,在建立接口的类class Circle implements ShapePara{private double x;protected double y;public double r;Circledouble r{this.r=r;}void setRadiusdouble r{this.r=r;}double getRadius{return r;double getArea{return 3.14rr;}double getCircumference{return 3.142r;}void setCenterdouble x,double y{this.x=x;this.y=y;}double getCenterx{return x;}double getCentery{return y;}}public class A {public static void mainString args { Circle ci=new Circle5;ci.setRadius5;ci.setCenter0, 0;}答案:78.50.00.02.定义图形类Shape,该类中有获得面积的方法getArea;定义长方形类Rect,该类是Shape 的子类,类中有矩形长和宽的变量double a,double b,设置长和宽的方法setWidth、setHeight,使用getArea求矩形面积;利用getArea方法实现题1中圆面积的求解; class Shape {double getAreadouble r{return 0;}}public class Rect extends Shape {double a,b,area;Rectdouble width,double heigh{a=width;b=height;;}void setWidthdouble width {a=width;}void setHeightdouble height {b=height;}double getWidth{return a;}double getHeight{return b;}double getArea{area=ab;return area;}}public class A {public static void mainString args {Rect rect=new Rect;double w=12.76,h=25.28;rect.setWidthw;rect.setHeighth;}}答案:圆的的面积:78.5矩形对象的宽:12.76 高:25.283. 编写Java应用程序,定义Animal类,此类中有动物的属性:名称 name,腿的数量legs,统计动物的数量 count;方法:设置动物腿数量的方法 void setLegs,获得腿数量的方法getLegs,设置动物名称的方法 setKind,获得动物名称的方法 getKind,获得动物数量的方法 getCount;定义Fish类,是Animal类的子类,统计鱼的数量 count,获得鱼数量的方法 getCount;定义Tiger类,是Animal类的子类,统计老虎的数量 count,获得老虎数量的方法 getCount;定义SouthEastTiger类,是Tiger类的子类,统计老虎的数量 count,获得老虎数量的方法 getCount;public class Animal {String name;int legs;static int count;Animal{count++;}void setLegsint legs{this.legs=legs;}int getLegs{return legs;}void setKindString name{=name;}String getKind{return name;}int getCount{return count;}}public class Fish extends Animal{static int countFish;Fish{countFish++;}int getCount{return countFish;}}public class Tiger extends Animal{static int countTiger;Tiger{countTiger++;}int getCount{return countTiger;}}public class SouthEastTiger extends Tiger{} public class A {public static void mainString args{Fish f=new Fish;Tiger t=new Tiger;SouthEastTiger st=new SouthEastTiger;}实验四异常处理1.建立exception包,编写TestException.java程序,主方法中有以下代码,确定其中可能出现的异常,进行捕获处理;forinti=0;i<4;i++{intk;switchi{case0:intzero=0;k=911/zero;break;case1:intb=null;k=b0;break;case2:int c=new int2;k=c9;break;case3:charch="abc".charAt99;break;}}package Exception;public class TestException {public static void mainString args{forint i=0;i<4;i++{try{int k;switchi{case 0: int zero=0;k=911/zero;break;case 1: int b=null;k=b0;break;case 2: int c=new int2;k=c9;break;case 3: char ch="abc".charAt99;break;}}catchArithmeticException e{}}catchArrayIndexOutOfBoundsException e{}}}}}运行结果:/ by zeronull9String index out of range: 992.建立exception包,建立Bank类,类中有变量double balance表示存款,Bank类的构造方法能增加存款,Bank类中有取款的发方法withDrawaldouble dAmount,当取款的数额大于存款时,抛出InsufficientFundsException,取款数额为负数,抛出NagativeFundsException,如new Bank100,表示存入银行100元,当用方法withdrawal150,withdrawal-15时会抛出自定义异常;提示: InsufficientFundsException,NagativeFundsException为自定义的类,分别产生余额不足异常和取款为负数异常,需继承Exception类;通过输出结果了解java异常的产生,并将该Java程序放在exception包中; package Exception;//注解先建立一个package,然后在包中建立各种类public class InsufficientFundsException extends Exception{ String s1;InsufficientFundsExceptionString t{s1=t;}public String getMassage1{return s1;}}package Exception;public class NagativeFundsException extends Exception{ String s;NagativeFundsExceptionString t{s=t;}public String getMassage{return s;}}package Exception;public class Bank extends Exception{static double ba=0;Bankdouble r{ba=ba+r;}void withDrawaldouble dAmount throws InsufficientFundsException,NagativeFundsException{ifdAmount>ba throw new InsufficientFundsException"取款余额不足";else ifdAmount<0 throw new NagativeFundsException"取款为负数";else}}package Exception;import java.util.;public class A{public static void mainString args {Bank b=new Bank100;Scanner sc=new ScannerSystem.in;try {b.withDrawalsc.nextInt;}catchInsufficientFundsException e{}catchNagativeFundsException e{}}}运行结果:请输入一个数80银行里还剩余:20.0实验五输入输出1.编写TextRw.java的Java应用程序,程序完成的功能是:首先向TextRw.txt中写入自己的学号和姓名,读取TextRw.txt中信息并将其显示在屏幕上;import java.io.;public class TextRw {public static void mainString args throws IOException {File f=new File"f:\\TextRw.txt";FileWriter fw=new FileWriterf;fw.write"学号姓名";fw.close;FileReader fr=new FileReaderf;int i;whilei=fr.read=-1fr.close;}}2.编写IoDemo.java的Java应用程序,程序完成的功能是:首先读取IoDemo.java源程序文件,再通过键盘输入文件的名称为iodemo.txt,把IoDemo.java的源程序存入3.编写BinIoDemo.java的Java应用程序,程序完成的功能是:完成1.doc文件的复制,复制以后的文件的名称为自己的学号姓名.doc;import java.io.;public class BinIoDemo{public static void mainString args throws IOException{File f1=new File"e:\\1.doc";FileInputStream in=new FileInputStreamf1;File f2 = new File"e:\\“学号”+“姓名”.doc";FileOutputStream out=new FileOutputStreamf2;byte buf = new byte2048;int num = in.readbuf;while num = -1 {out.writebuf, 0, num;out.flush;num = in.readbuf;}in.close;out.close;}}实验六多线程编程1.随便选择两个城市作为预选旅游目标;实现两个独立的线程分别显示10次城市名,每次显示后休眠一段随机时间1000ms以内,哪个先显示完毕,就决定去哪个城市;分别用Runnable接口和Thread类实现;通过Threadpublic class Hw1Thread extends Thread{String a;private int sleepTime;public Hw1ThreadString a{supera;this.a=a;sleepTime=intMath.random6000;}public void run{int count1=0,count2=0;ifThread.currentThread.getName.equalsIgnoreCase"ShangHai"{ forint i=0;i<10;i++{try{Thread.sleepsleepTime;count1++;ifcount1>count2 && count1==10{ //判断哪个城市的输出次数先达到10,达到则终止输出}else ifcount2>count1 && count2==10{}}catchInterruptedException exception{};//使用sleep方法需要抛出中断异常}}ifThread.currentThread.getName.equalsIgnoreCase"BeiJIng"{ forint i=0;i<10;i++{try{Thread.sleepsleepTime;count2++;ifcount1>count2 && count1==10{}else ifcount2>count1 && count2==10{}}catchInterruptedException exception{};//使用sleep方法需要抛出中断异常也可以在方法头抛出throw异常}}}}public class Hw1ThreadText {public static void mainString args throws InterruptedException { Hw1Thread td1=new Hw1Thread"ShangHai";Hw1Thread td2=new Hw1Thread"BeiJing";td1.start;td2.start;}}通过Runnable接口:public class Hw1Thread implements Runnable{String a;private int sleepTime;int count1=0,count2=0;public Hw1ThreadString a{this.a=a;sleepTime=intMath.random1000;}public void run{ //重写run方法ifThread.currentThread.getName.equalsIgnoreCase"td1"{ forint i=0;i<10;i++{try{Thread.sleepsleepTime;count1++;}catchInterruptedException exception{}; //使用sleep方法需要抛出中断异常ifcount1>count2 && count1==10{}else ifcount2>count1 && count2==10{}}}ifThread.currentThread.getName.equalsIgnoreCase"td2"{forint i=0;i<10;i++{try{Thread.sleepsleepTime;count2++;ifcount1>count2 && count1==10{ //判断哪个城市的输出次数先达到10,达到则终止输出}else ifcount2>count1 && count2==10{}catchInterruptedException exception{};//使用sleep方法需要抛出中断异常}}}}public class Hw1ThreadText {public static void mainString args throws InterruptedException { Hw1Thread td1=new Hw1Thread"ShangHai";Hw1Thread td2=new Hw1Thread"BeiJing";new Threadtd1,"td1".start;new Threadtd2,"td2".start;}}2.用继承Thread类方法实现多线程程序;有两个学生小明和小红,小明准备睡10分钟以后开始听课,小红准备睡1小时以后开始听课,雷老师大喊三声“上课了”,小明醒后把小红吵醒,他们开始听课;学生:小明、小红睡觉:明:10min 红:60min老师:喊三声明醒->红醒;上课;class Stu extends Thread{Thread student1,student2,teacher;Stu {teacher=new Threadthis;student1=new Threadthis;student2=new Threadthis;teacher.setName"雷老师";student1.setName"小明";student2.setName"小红";}public void run {ifThread.currentThread==student1 {Thread.sleep10006010;}catchInterruptedException e {}}ifThread.currentThread==student2 {Thread.sleep10006060;}catchInterruptedException e {}}else ifThread.currentThread==teacher { forint i=1;i<=3;i++ {try { Thread.sleep500;}catchInterruptedException e{} }student1.interrupt; //吵醒student student2.interrupt;}}}public class A{public static void mainString args {Stu s=new Stu;}}实验七图像用户界面1.编程实现如下界面:当在第一个文本框中输入直接回车,会在第二个文本框中得第一个文本框输入值的平方,单击求和,会在第二个文本框中得到两个文本框中的和;import java.awt.;public class Test implements ActionListener{TextField tf,tf1;Button b;Frame f;Test{f=new Frame;f.setSize150, 150;f.setLocation300, 300;Panel p=new Panel;Panel p1=new Panel;Panel p2=new Panel;tf=new TextField10;tf1=new TextField10;b=new Button"求和";p.addtf;p1.addtf1;p2.addb;f.addp,BorderLayout.NORTH;f.addp1,BorderLayout.CENTER;f.addp2,BorderLayout.SOUTH;f.setVisibletrue;f.addWindowListenernew WindowAdapter{public void windowClosingWindowEvent e{System.exit0;}};tf.addActionListenerthis;b.addActionListenerthis;}public static void mainString args {new Test;}public void actionPerformedActionEvent e{ int i;ife.getSource==tf{i=Integer.parseInttf.getText;tf1.setTextString.valueOfii;}else ife.getSource==b{i=Integer.parseInttf.getText+Integer.parseInttf1.getText;tf1.setTextString.valueOfi;}}}2.按照如下图所示的窗体布局,其中包含Label,TextField,Button控件,Label控件的名称为l1,l2,l3,l4,l5;TextField的大小为10,Button控件的名称如图所示;所完成的功能是:单击关闭按钮能够关闭窗体;单击“计算”按钮,将得出1号商品和2号商品的费用并显示在合计文本框中;输入1号商品的价格,如果2号商品的价格和1号商品价格相同,在1号商品显示价格控件中回车,2号商品的价格显示和1号商品相同;输入1号商品的数量,如果2号商品的数量和1号商品数量相同,在1号商品显示数量控件中回车,2号商品的数量和1号商品数量相同;import java.awt.;public class Price {public Price{Frame f=new Frame"商品计费";Label l1=new Label"1号商品价格";Label l2=new Label"数量";Label l3=new Label"2号商品价格";Label l4=new Label"数量";Label l5=new Label"合计";//创建标签Button b=new Button"计算";//创建按钮final TextField tf1=new TextField10;final TextField tf2=new TextField10;final TextField tf3=new TextField10;final TextField tf4=new TextField10;//文本框final TextField tf5=new TextField10;Panel p1=new Panel;Panel p2=new Panel;Panel p3=new Panel;p1.addl1;p1.addtf1;p1.addl2;p1.addtf2;p2.addl3;p2.addtf3;p2.addl4;p2.addtf4;p3.addb;p3.addl5;p3.addtf5;//使用这种布局添加方法可以使用Layout默认布局进行布局f.addp1,BorderLayout.NORTH;f.addp2,BorderLayout.CENTER;f.addp3,BorderLayout.SOUTH;f.setSize400, 150;f.setLocation200, 200;f.setVisibletrue; //以上备注同实验1以下蓝色字体按照题1中的思路编程tf1.addKeyListenernew KeyListener{public void keyPressedKeyEvent e{ife.getKeyCode == KeyEvent.VK_ENTER{tf3.setTexttf1.getText;}}public void keyReleasedKeyEvent e {}public void keyTypedKeyEvent e {}}; //对文本框1"1号商品价格"添加键盘监控器,接收到回车符完成相应功能tf2.addKeyListenernew KeyListener{public void keyPressedKeyEvent e{ife.getKeyCode == KeyEvent.VK_ENTER{tf4.setTexttf2.getText;}}public void keyReleasedKeyEvent e {}public void keyTypedKeyEvent e {}}; //对文本框2"数量"添加键盘监控器,接收到回车符完成相应功能f.addWindowListenernew WindowAdapter{public void windowClosingWindowEvent e{System.exit0;}};//窗体的关闭监控器b.addActionListenernew ActionListener {public void actionPerformedActionEvent e{int p1,p2,num1,num2;p1=Integer.parseInttf1.getText;p2=Integer.parseInttf3.getText;num1=Integer.parseInttf2.getText;num2=Integer.parseInttf4.getText;tf5.setTextInteger.toStringp1num1+p2num2;}};//按钮监控器}public static void mainString args {new Price;}}实验八 JDBC编程1. 用access建立数据库ssm,库中有student表,表中字段有:学号number,姓名name,性别gender,年龄 age,成绩score,科目course;1使用“insert into”向表中添加5个你熟悉的同学的学号、姓名、年龄、成绩和科目,并将添加以后的学生信息显示在控制台端;2使用“select ”条件查询得到成绩是80分以上的同学信息;3使用“update ”将表中学号等于自己学号的成绩修改为85分,并将修改以后的表中所有学生信息显示在控制台端;4 使用“delete ”将表中成绩高于80分以上的学生信息删除,并将删除以后的表中所有学生信息显示在控制台端;//以下代码中已经屏蔽的内容只可执行一次,多次执行会产生重复错误import java.sql.;public class DataTest {public static void mainString args throws SQLException {try {} catch ClassNotFoundException e {e.printStackTrace;}Connectioncon=DriverManager.getConnection"jdbc:odbc:ssm","test","1234";Statement state=con.createStatement;////ResultSet rs1=state.executeQuery"SELECT FROM student";//查找student表中的所有信息//ResultSet rs2=state.executeQuery"select FROM student WHERE score>80";//选择成绩大于80的学僧//ResultSet rs3=state.executeQuery"select FROM student";state.executeUpdate"DELETE FROM student WHERE score>80";//删除分数大于80的学生信息ResultSet rs4=state.executeQuery"select FROM student";whilers1.next{}whilers2.next{}whilers3.next{}/whilers4.next{}con.close;}}。
<JAVA上机作业1>3.运行程序,分析并写出程序执行结果public class less1_3 {public static void main(String args[]){boolean x , y , xx , yy;int i = 10, j =10, ii = 10, jj = 10;x = true || (++i >10);y = true &&(++j >10);xx=true | (++ii >10);yy=true &(++jj >10);System.out.println("\n i = " +i+"\t j = "+j);System.out.println("\n x = " +x+"\t y = "+y);System.out.println("\n ii = " +ii+"\t jj = "+jj);System.out.println("\n xx = " +xx+"\t yy = "+yy);} }4.根据注释填空,并写出正确执行结果public class less1_4{ public static void main(String args[ ]){ float fa=102.5f;int ia=3;String sfa , sia , sc;double scd;System.out.println(fa+ia);sfa=Float.toString(fa); //将fa数值转换为字符串;sia= Interger.toString(ia); //将ia数值转换为字符串;sc= sfa+sia; //将字符串sfa和sia连接起来; System.out.println(“sc=”+sc);scd= Double.parseDouble(sc); //将字符串sc转换为数值; System.out.println(scd);} }6.(选做)解释划线语句功能,并写出程序执行结果。
win10系统安装java的方法详细教程Windows 10系统成为了智能手机、PC、平板、Xbox One、物联网和其他各种办公设备的心脏,使设备之间提供无缝的操作体验。
一些用户因为工作需求,就想在windows10系统中安装java,可是操作了半天,都没有成功。
为了帮到大家更好地使用新系统。
下面小编就给大家带来win10系统安装java的方法,一起来看看吧。
具体方法如下:1、查看自己的电脑是32位的还是64位的(x86代表32位的)。
java安装要求比较高,楚除了查看系统是windows还是linux等等,如果是windows系统,还要查看是32位的还是64位的。
我的是64的。
2、下载java,进入官网,找到JDK,点击DOWNLOAD。
3、选择自己要下载的版本(8u65或者8u66),然后点击Accept 你不同意,人家是不会让下载的哦!4、自己的电脑是几位的操作系统,就下载几位的。
一般都是64(x86代表32位的)。
可以下载.exe也可以下载.zip。
下载.zip的话就需要解压啦。
如果电脑没有解压软件,最好下载.exe,不怕麻烦也可以下载jdk后,在下载一个解压软件。
我下载了.exe文件。
5、安装。
安装在非C盘的磁盘。
点击安装后,会出现安装默认在c盘,还有一个选项,自定义安装,小目录后面点击更改。
这里我安装在d盘。
6、结果,安装失败。
你再安装,再安装,无论你多么努力,就是安装失败。
难道我的电脑出现了问题?事实上不是!7、再重新安装,一开始就狂点下一步,安装成功。
为什么呢?那是你默认安装在c盘了。
(再安装过程中,会弹出一个对话框,可以更改安装目录,狂点下一步,不要更改,否则安装失败。
)8、为什么?一般软件你可以安装在你想安装你盘里。
但是,java 你不能,你只能安装在c盘,如果安装在其他盘,就会安装失败,你打开你预先创建安装java的文件夹,里面什么都没有。
补充:win10常用功能技巧一、Win10技巧1.窗口1/4分屏从Win7时代开始,微软便引入了屏幕热区概念,即当你需要将一个窗口快速缩放至屏幕1/2尺寸时,只需将它直接拖拽到屏幕两边即可。
java 10的七次方写法-回复Java 10的七次方写法Java是一种广泛使用的计算机编程语言,它具有简单易学、面向对象、跨平台等特点。
Java的版本升级常常带来新的特性和改进。
Java 10是Java 语言的第10个稳定版本,其引入了一些新特性和语言改进。
在Java 10中,我们可以使用Math类中的pow方法来进行指数运算。
pow方法接受两个参数,第一个参数是底数,第二个参数是指数。
例如,如果我们想计算10的七次方,则可以使用以下代码:javadouble result = Math.pow(10, 7);在上述代码中,Math.pow(10, 7)返回的是10的七次方,结果赋值给result 变量。
此外,Java 10还引入了一种新的写法,即使用运算符“”,来表示指数运算。
上述代码可以改写成以下形式:javadouble result = 107;以上代码与使用Math.pow方法所得到的结果是相同的,都是10的七次方。
Java 10引入的指数运算符具有与其他运算符相同的优先级。
它具有右结合性,即一个表达式中存在多个指数运算符时,按照从右到左的顺序进行计算。
例如,如果我们想计算2的3次方的平方,可以使用以下代码:javadouble result = 232;在上述代码中,32等于9,29等于512,最终的结果为512。
Java 10的指数运算符提供了一种更直观和简洁的方式来进行指数运算。
它使得我们可以更轻松地计算任意数字的任意次方。
然而,我们仍然可以选择使用Math类中的pow方法来进行指数运算。
本次介绍了Java 10中进行指数运算的两种写法,包括使用Math类中的pow方法和使用指数运算符。
这两种方法都可以实现相同的指数运算结果,具体使用哪一种取决于个人习惯和项目需求。
无论使用哪种方法,都需要注意数值溢出的问题,并进行适当的处理。
同时,在进行任何计算之前,都需要仔细阅读文档并理解相应的方法和运算符的使用规则。
1、publicclass Employee {
String name;
public Employee(String name){
=name;
}
void showInfo(){
System.out.println("我是 "+name);
}
}
class commonEmployee extends Employee {
String department;
public commonEmployee(String name,String department){
super(name);
this.department=department;
}
void showInfo(){
System.out.println("我是 "+name+"所在部门"+department);
}
}
class ManageEmployee extends Employee {
String department;
public ManageEmployee(String name,String department){
super(name);
this.department=department;
}
void showInfo(){
System.out.println("我是经理 "+name+"所在部门"+department);
}
}
package ;
class Test{
void judge(Employee e){
e.showInfo();
}
publicstaticvoid main(String[] agrs){
commonEmployee e1=new commonEmployee("刘芳","人事处");
ManageEmployee e2=new ManageEmployee("王红","销售部");
Test test1=new Test();
test1.judge(e1);
test1.judge(e2);
}
}
2、
publicclass Employee {
String name;
public Employee(String name){
=name;
}
void showInfo(){
System.out.println("我是 "+name);
}
}
class commonEmployee extends Employee {
String department;
public commonEmployee(String name,String department){
super(name);
this.department=department;
}
void showInfo(){
System.out.println("我是 "+name+"所在部门"+department);
}
}
class ManageEmployee extends Employee {
String department;
public ManageEmployee(String name,String department){
super(name);
this.department=department;
}
void showInfo(){
System.out.println("我是经理 "+name+"所在部门"+department);
}
}
class Test{
void judge(Employee e){
e.showInfo();
}
publicstaticvoid main(String[] agrs){
Employee[] e=new Employee[2];
e[0]=new commonEmployee("刘芳","人事处");
e[1]=new ManageEmployee("王红","销售部");
Test test1=new Test();
test1.judge(e[0]);
test1.judge(e[1]);
}
}
3、
commonEmployeecomEmploy=(commonEmployee)e[0];
4、public interface Usbinterface {
String name="";
void start();
void stop();
}
classMouseinterface implements Usbinterface{ public void start()
{
System.out.print(“鼠标启动");
}
public void stop()
{
System.out.print(“鼠标停止");
}
}}
class Keyboard implements Usbinterface{
public void start()
{System.out.print(“键盘启动")}
public void stop()
{System.out.print(“键盘停止");
}}
class Test {
publicstaticvoid main(String[] agrs){
Usbinterface interface1=new Mouseinterface(); Interface1. start() ;
Usbinterface interface1=new Keyboard ();
Interface1. start() ;
}
}
5、public abstract class Animal {
String name;
abstract void run();
abstract void eat();
}
class Dog extends Animal{
void run(){
System.out.println("狗跑得很快");
}
void eat(){
System.out.println("狗爱吃骨头");
}
}
class Cat extends Animal{
void run(){
System.out.println("小猫跑起来很轻");} void eat(){
System.out.println("猫爱吃鱼");
}}
class Test {
public static void main(String[] agrs){ Animal animal1=new Dog ();
animal1. eat() ;
Animal animal1=new Cat ();
animal1. eat() ;
}
}。