JAVA实验_题目7

合集下载

Java实验题目

Java实验题目

Java实验题目(1) .编写Java应用程序,定义byte、short、int、Iong、float、double、char和boolean等类型的数据并用一个输出语句输出,要求每行输出一个数据。

(2) .编写Java小应用程序,输出两行字符串:“ Jav很有趣。

”和努力学习Java编程。

”,输出的起点坐标是(20, 20),行距是50像素。

(3) .使用算术运算符得到一个4 位十进制数的各位数字并输出,然后输出该数的逆序数和各位数字平方后相加的和。

(4) .编写Java 小应用程序,用三目条件运算符求程序中给定的4个double 数的最大值和最小值并输出结果。

实验报告题:使用算术运算符得到一个 4 位十进制数的各位数字并输出,然后输出该数的逆序数和各位数字平方后相加的和。

1、数据类型与表达式的使用自己编写程序测试各种运算符的使用。

例如,以下程序是测试Java的数据类型:public class UseVarible {public static void main(String args [])boolean b = true;short si = 128;int i = -99;long l = 123456789L;char ch = 'J';float f = 3.1415925F;double d = -1.04E-5;String s = "你好!";System.out.println("布尔型变量b="+ b);System.out.println(” 短整型变量si="+ si);System.out.println("整型变量i="+ i);System.out.println("长整型变量匸"+ l);System.out.println("字符型变量ch="+ ch);System.out.printin("浮点型变量f="+ f);System.out.println("双精度型变量d="+ d);System.out.println("字符型对象s="+ s);2、数组的创建与使用编写并运行P.23例1-5,例1-6。

java面向对象实验七 异常处理

java面向对象实验七 异常处理
returnin.nextInt();
}
publicstaticvoidmain(String[] args) {
inta[] =newint[10];
for(i= 0;i< a.length;i++) {
try{
a[i] =getNu();
}catch(InputMismatchException e) {
if(age>= 1 && age <= 100) {
this.age= age;
}else{
thrownewException("年龄范围错误!必需在1~100之间!");
}
}
//无异常输出年龄
voidprint() {
System.out.println("年龄为"+this.age);
}
}
测试类:
e.printStackTrace();
}
}
}
2)输出截图:
实验结果及分析
1.实验结果:
输入10个数,若输入非整数则提示“输入错误!”,并继续输入,直到输满10个数,然后输出最大最小数。
输入年龄不在1~100范围内,则抛出异常“年龄范围错误!必需在1~100之间!”,无异常则输出年龄。
2.分析龄
intinPut() {
Scanner in =newScanner(System.in);
实验过程及步骤
System.out.println("请输入年龄:");
returnin.nextInt();
}
//判断年龄在1~100之间,否则抛出异常
publicvoidsetAge(intage)throwsException {

实验七 JAVA Bean实验

实验七 JAVA Bean实验

实验七JavaBean实验1.实验目的1.掌握Javabean的编写规则2.掌握JavaBean的使用3.体验JSP+JavaBean编程的好处2.实验内容与步骤2.1. 用JavaBean实现统计用户访问网站的次数✧需求说明:用JavaBean实现统计用户访问网站的次数✧知识点练习:练习如何在jsp中使用<jsp:useBean>标签调用javabean✧实现步骤如下:1.第一步编写JavaBean对象zzuli.Counter.javapackage zzuli;public class Counter{public Counter(){}public int count=0;public int getCount(){count++;return count;}public void setCount(int newCount){count=newCount;}}2.第二步编写Jsp页面counter.jsp<%@ pagecontentType="text/html;charset=GB2312"%><html><head><title>Counter.jsp</title></head><body><h2>范围为Application的JavaBean范例程序-counter</h2><jsp:useBean id="myBean" scope="application" class="zzuli.Counter"/><p>您已访问<font color="red"></body></html>3.运行测试查看效果2.2. 实现一个打招呼的功能,用户输入用户名之后进来打招呼✧需求说明:实现一个打招呼的功能,用户输入用户名之后进来打招呼✧具体实现如下:创建一个新javabean,然后在JSP中调用。

Java实验7

Java实验7

实验7多线程程序设计一、实验目的:1、理解多线程程序运行的基本原理。

2、掌握多线程程序设计的基本方法。

3、学习多线程的同步机制,掌握利用同步机制访问共享资源的方法。

二、实验任务:1、编写一个GUI选号程序,在程序的主窗体中安排6个标签,每个标签上显示一个数字,每个数字都在0~9之间变化。

单击窗体上的“停止”按钮使所有数字停止变化。

2、编写一个学校向教师发放工资的应用程序。

学校负责向教师的工资帐户上发放工资,教师从各自的帐户上领取工资。

三、实验步骤:1、设计一个图形界面应用程序,在程序中首先创建一个标签类MyLabel,并使该类实现Runnable接口。

2、MyLabel类中包含两个数据成员:(1)整型数据成员value代表显示在标签上的数字;(2)布尔型数据成员stop,其初始值为false,当其值变为true时,标签上显示的数字停止变化。

3、创建一个框架窗体类ChooseNumber,并向其中添加6个MyLabel类的对象和一个按钮,为了能使6个标签上的数字在程序运行时不停地在0~9之间变化,需实现以下2步:(1)创建6个线程分别控制6个标签上的数字变化;(2)在MyLabel类的run方法中,使用Math类的random方法产生0~9之间的随机整数,并将其显示在标签上,然后使线程对象睡眠500毫秒,然后判断stop的值,如果stop的值为false,则重复上述过程直到其值为true时,退出次循环。

4、程序的参考代码如下:5、以下几步完成本次上机实验的第2个任务。

6、这是一个典型的线程同步问题,如果教师在工资未发放前提取,则应使其进入等待状态。

学校发放工资后会通知教师可以提取。

这里用到了阻塞线程的方法wait和唤醒被阻塞线程的方法notify。

7、程序中创建TeacherAccount类作为教师帐户类,SchoolBank类代表学校,而Teacher类代表教师。

SchoolBank类对象和Teacher类对象有一个共享的TeacherAccount类对象。

Java程序设计实验指导书(答案)

Java程序设计实验指导书(答案)

第Ⅰ部分:实验指导实验1:Java开发环境J2SE一、实验目的(1)学习从网络上下载并安装J2SE开发工具。

(2)学习编写简单的Java Application程序.(3)了解Java源代码、字节码文件,掌握Java程序的编辑、编译和运行过程。

二、实验任务从网络上下载或从CD-ROM直接安装J2SE开发工具,编写简单的Java Application程序,编译并运行这个程序。

三、实验内容1.安装J2SE开发工具Sun公司为所有的java程序员提供了一套免费的java开发和运行环境,取名为Java 2 SDK,可以从上进行下载。

安装的时候可以选择安装到任意的硬盘驱动器上,例如安装到C:\j2sdk1.4.1_03目录下。

教师通过大屏幕演示J2SE的安装过程,以及在Windows98/2000/2003下环境变量的设置方法。

2.安装J2SE源代码编辑工具Edit Plus教师通过大屏幕演示Edit Plus的安装过程,以及在Windows98/2000/2003操作系统环境下编辑Java 原程序的常用命令的用法。

3.编写并编译、运行一个Java Application程序。

创建一个名为HelloWorldApp的java Application程序,在屏幕上简单的显示一句话"老师,你好!"。

public class HelloWorldApp{public static void main(String[] args){System.out.println("老师,你好!");}}4.编译并运行下面的Java Application程序,写出运行结果。

1:public class MyClass {2:private int day;3:private int month;4:private int year;5:public MyClass() {6:day = 1;7:month = 1;8:year = 1900;9:}10:public MyClass(int d,int m,int y) {11:day = d;12:month = m;13:year = y;14:}15:public void display(){16:System.out.println(day + "-" + month + "-" + year);17:}18:public static void main(String args[ ]) {19:MyClass m1 = new MyClass();20:MyClass m2 = new MyClass(25,12,2001);21:m1.display();22:m2.display();23:}24:}运行结果:1-1-190025-12-2001实验2:Java基本数据类型一、实验目的(1)掌握javadoc文档化工具的使用方法。

Java实验课经典题型加代码答案.doc

Java实验课经典题型加代码答案.doc

Java实验课经典题型加程序代码1.求出2-1000内的所有个位为3或7的素数,并按每行5列的格式输出。

package first_work;public class First_work {public static void main(String[J args) {int i,m;intj=O;for(i=2;i<= 1000;i++){for(m=2;m<=Math.sqrt(i);m++){if(i%m==0)break;}if(m>Math.sqrt(i)&&(i%l 0==3||i%l 0==7)){System.out.print (i+"");j++;if(j!=0&&j%5==0){System.out.println();}};}}}2.教材71页15题,增加以下内容:同时要求川选择排序、冒泡排序、插入排序实现,分别用不同的函数实现。

package first_work;public class Sort {public static void choose(int[] x) {for (int i=0; i<x.length;i++) { intlowerlndex=i; for (intj=i+l;j<x.length;j++) {if (xrjl<xflowerlndex]) {lowerlndex=j;}}int temp=xfil;x[i]=x[lowerlndex]; x[lo werlndex]=temp;}}public static void insert(int[] x){ for (int i=l;i<x.length;i++)(for(intj=i;j>0;j-){ if(x[j]<xO-l]) {int temp=xfjl;xD]=xU-l];x[j-l]=temp;}}}}public static void main(String[] args) {int[] a= {20,10,55,40,30,70,60,80,90,100};int i,j,x,T=0;for( i=l ;i<10;i++) for(j=0;j<9;j++)if(aU]〉a|J+l]){T=aU];afjl=a[j+ll;a|j+l]=T;}for(x=0;x<l 0;x++){System.out.print(f f);System.out.print(a[x]);}System.out.print(,\n,);choose(a);for(x=0;x<10;x++){System.out.print(’ •);System.out.print(a[xJ);}System.out.print(’\n’); inserl(a);for(x=0;x<10;x++){System.out.print(");System.out.print(a[x]);}}}3.实现一个三行三列的矩阵和它的转置相加。

Java实验7

Java实验7
public GradeBook(int len)
{
arrayStudent=new Student[len];
}
public float BestScore()
{
float best=0;
for(int i=0;i<Student.sn;i++)
{
if(arrayStudent[i].getScore()>best)
{
return name;
}
public String getNum()
{
return num;
}
public float getScore()
{
return score;
}
}
GradeBook类:
public class GradeBook {
public Student arrayStudent[];
LabelandTextTest application=new LabelandTextTest();
application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
String str1="";
private class TextFieldHandler implements ActionListener{
info1.setEditable(false);
container.add(info1);
container.add(new JLabel("学号:"));
num=new JTextField(10);
container.add(num);

JAVA 综合实验及练习(参考答案)

JAVA 综合实验及练习(参考答案)

print(){ };}
{ void print();} 11、关于以下程序段,正确的说法是( ) 1. String s1=“a”+“b”; 2. String s2=new String(s1) ; 3. if(s1==s2) 4. System.out.println(“= = is succeeded”); 5. if (s1.equals(s2)) 6. System.out.println(“.equals() is succeeded”); A.行 4 与行 6 都将执行 B.行 4 执行,行 6 不执行 C.行 6 执行,行 4 不执行 D.行 4、行 6 都不执行 12、下面哪个函数是 public void aMethod(){...}的重载函数?( ) A、void aMethod( ){...} B、public int aMethod(){...} C、public void aMethod ( ){...} D、public int aMethod ( int m){...} 13、下面关于继承的哪些叙述是正确的? ( ) A.在 java 中允许多继承。 B. 在 java 中一个类只能实现一个接口。 C. 在 java 中一个类不能同时继承一个类和实现一个接口。 D. java 的单一继承使代码更可靠。
3、利用求素数的方法,就 6~2000000 之间的所有偶数验证歌德巴赫猜想: 任何一个大于 6 的偶数可以分解为两个素数之和。
4、现有 15 位选手参加比赛,有 6 个评委每个评委都要给每位选手打分,分数为 60~100 分, 现需要定义二维数组存储选手成绩, 每行存储一位选手打分情况, 要求输出选手得分以及选 手最后得分,以及选手名次。 评分规则:分数为 60~100 分。选手最后得分为:去掉一个最高分和一个最低分后其余 4 个分数的平均值。 5、设计一个描述二维平面上点的类 Position,该类需要描述点的横坐标和纵坐标,并提供属 性的 set/get 访问器方法和计算两点间距离的方法。写一个程序测试这个类 6、设计一个表示二维平面上点的类 Point,包含有表示坐标位置的 protected 类型的成员变 量 x 和 y,获取和设置 x 和 y 值的 public 方法。 设计一个表示二维平面上圆的类 Circle ,它继承自类 Point ,还包含有表示圆半径的 protected 类型的成员变量 r、获取和设置 r 值的 public 方法、计算圆面积的 public 方法。 7、编写一个完整的 Java Application 程序。包含接口 Shape,MyRectangle 类,MyTriangle
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第七章类和对象 【实验目的】 (1) 熟练掌握类、类方法的定义 (2) 明确类与对象的关系掌握关键字new的引用 (3) 掌握对象的引用 (4) 掌握构造方法及一般方法的使用

【实验范例】 例1:(类的构造) 定义一个表示学生信息的类Student,要求如下:(有关类的编程) (1)类Student的成员变量: sNO表示学号;sName表示姓名;sSex表示性别;sAge表示年龄;sJava:表示Java课程成绩。 (2)类Student带参数的构造方法: 在构造方法中通过形参完成对成员变量的赋值操作。 (3)类Student的方法成员: getNo():获得学号; getName():获得姓名; getSex():获得性别; getAge()获得年龄; getJava():获得Java 课程成绩 (4)根据类Student的定义,创建五个该类的对象,输出每个学生的信息,计算并输出这五个学生Java语言成绩的平均值,以及计算并输出他们Java语言成绩的最大值和最小值。

程序代码: //Pragramme name Student.java; public class Student { String sNO, sName, sSex; int sAge, sJava; public Student(String XH, String XM, String XB, int NL, int XF) { super(); sNO = XH; sName = XM; sSex = XB; sAge = NL; sJava = XF; } public String getNO() { return sNO; } public String getName() { return sName; } public String getSex() { return sSex; } public int getAge() { return sAge; } public int getJava() { return sJava; } public static void main(String[] args) { Student[] st = new Student[5]; st[0] = new Student("09zc01", "张三", "男", 19, 94); st[1] = new Student("09zc02", "李四", "男", 20, 85); st[2] = new Student("09zc03", "王五", "女", 18, 96); st[3] = new Student("09zc04", "赵六", "男", 17, 90); st[4] = new Student("09zc05", "杨七", "女", 21, 88); int max = 0, min = 100, sum = 0; System.out.println(" 学生信息:"); for (int i = 0; i < st.length; i++) { if (st[i].sJava< min) min = st[i].sJava; if (st[i].sJava> max) max = st[i].sJava; sum = sum + st[i].sJava; System.out.println("学生编号:" + st[i].getNO() + "姓名: " + st[i].getName() + "性别:" + st[i].getSex() + "年龄:" + st[i].getAge() + " Java课学分:" + st[i].getJava()); } System.out.println(); System.out.println(" 共有学生:" + st.length + "平均成绩:" + sum / st.length); System.out.println(" 最小学分:" + min + ",最大学分:" + max); } }

例2:(类对象的使用) 一个景区根据游人的年龄收取不同价格的门票。请编写游人类,根据年龄段决定能够购买的门票价格并输出,然后写出测试类测试该类(建立独立类Tourist来实现门票分类,并在主程序中使用该类的对象,类里面包含2个方法:分别是setAge(int age)和ticket())

程序代码: import java.util.Scanner; class Tourist { int age; int ticketPrice; public void setAge(int age) { this.age = age; } public void ticket() { if (age> 0 &&age< 12) ticketPrice = 20; else if (age< 20) ticketPrice = 40; else if (age< 50) ticketPrice = 80; else ticketPrice = 35; System.out.println("门票价格:" + ticketPrice); } } public class Prog1 { public static void main(String[] args) { Scanner input = new Scanner(System.in); Tourist t1 = new Tourist(); System.out.print("请输入年龄:"); t1.setAge(input.nextInt()); t1.ticket(); } }

【综合例子】 例:在第六章综合例子的基础上,编写一个简单的多账户银行存取款系统 要求: 1、完善多账户管理 2、实现简单的循环菜单显示,并实现存|取款、修改密码、显示账户余额等功能 (将原来初始化函数改成构造函数)

import java.util.Scanner; class Account { int custID; String custName; int custPWD; double custMoney;

Account(int id, String name, int PWD, double money) { custID = id; custName = name; custPWD = PWD; custMoney = money; }

void displayAccout() { System.out.println("账号:" + custID); System.out.println("户名:" + custName); System.out.println("余额:" + custMoney); }

boolean deposit(double money){ custMoney += money; return true; }

boolean withdraw(double money){ if (custMoneyreturn false; }else{ custMoney -= money; return true; } }

void changePWD(int PWD){ custPWD = PWD; } }

public class CustDemo { public static void main(String args[]) { Account cust[] = new Account[4]; cust[0] = new Account(1001, "Tom", 111, 10000.0f); cust[1] = new Account(1002, "Mike", 222, 20000.0f); cust[2] = new Account(1003, "Bob", 333, 30000.0f); cust[3] = new Account(1004, "Cindy", 444, 40000.0f);

int ind = 0; double money; System.out.println("请输入账号:"); Scanner sc = new Scanner(System.in); long id = sc.nextLong(); for (int i=0; i<4; i++) { if (cust[i].custID == id) ind=i; }

while (true) { System.out.println("\n1.存款"); System.out.println("2.取款"); System.out.println("3.修改密码"); System.out.println("4.查询"); System.out.println("5.退出");

sc = new Scanner(System.in); switch(sc.nextInt()) { case 1: System.out.println("请输入存款金额:"); money = sc.nextDouble(); cust[ind].deposit(money); cust[ind].displayAccout(); break; case 2: System.out.println("请输入取款金额:"); money = sc.nextDouble(); if (cust[ind].withdraw(money)) cust[ind].displayAccout(); else System.out.println("您的账号余额不足!"); break; case 3: System.out.println("请输入新密码:"); cust[ind].custPWD = sc.nextInt(); break; case 4: cust[ind].displayAccout(); break; case 5: System.out.println("欢迎使用xxx银行系统!"); System.exit(1); } } } }

相关文档
最新文档