当前位置:文档之家› JAVA上机练习四

JAVA上机练习四

JAVA上机练习四
JAVA上机练习四

JA V A上机练习四

专业:10计算机科学与技术2班姓名:杨茜学号:100104021133

1、匿名内部类作用的体现

实验内容

编程实现利用匿名内部类实现比较器,将5个学生根据其年龄大小依次输出。运行后效果如图所示。

图实验运行结果

实验目的

通过这个简单的实例让读者了解匿名内部类的作用。在实际开发中,有很多自己编写的类只需要使用一次,并不需要多次创建对象。这时使用匿名内部类将类代码与创建对象同部完成,既方便又提高了代码的可维护性。

实现思路

定义作为集合元素的Student类,该类实现了Comparable接口,并实现了接口中的compareTo方法,指定其对象将按照学号比较大小,并且重写了toString方法,以便其能够更好的打印显示。在主方法中创建了一个TreeSet对象,并通过匿名内部类为其指定了自己的比较器,指出按学生的年龄从大到小进行排列。最后,向TreeSet中添加了5个Student对象,并将自动排序后的结果打印输出。

关键代码如下所示:

class Student implements Comparable

{

//学生的成员属性

String name;

int age;

int classNum;

//学生类的无参构造器

//学生类的有参构造器

//重写toString方法

public String toString()

{

//将类名引导的属性序列字符串返回

return "\nwyf.jc.Student[name="+https://www.doczj.com/doc/6b4171104.html,

+",age="+this.age

+",classNum="+this.classNum

+"]\n";

}

//实现compareTo方法

public int compareTo(Object o)

{

//强制类型转换

Student s=(Student)o;

//用classNum作为基准进行排序

return this.classNum-s.classNum;

}

}

//main方法中

//利用匿名内部类创建比较器

//将接收到的对象的引用进行强制类型转换

//指定按年龄进行排序

}

});

//向ts1中添加内容不同的学生对象的元素

ts1.add(new Student("tom",21,97005));

ts1.add(new Student("jerry",19,97003));

ts1.add(new Student("lucy",18,97004));

ts1.add(new Student("smith",28,97001));

ts1.add(new Student("jc",23,97002));

//打印ts1中的元素

System.out.println("这里的Sorted集是按年龄从大到小进行的排序:"); System.out.println(ts1);

通过javac、java等命令编译并运行程序,运行程序结果如图所示。

import java.util.*;

//interface Comparable{

//}

class Student implements Comparable {

//学生的成员属性

String name;

int age;

int classNum;

Student(String name,int age,int classNum)

{

https://www.doczj.com/doc/6b4171104.html,=name;

this.age=age;

this.classNum=classNum;

}

public String toString()

{

//将类名引导的属性序列字符串返回

return "\nwyf.jc.Student[name="+https://www.doczj.com/doc/6b4171104.html, +",age="+this.age

+",classNum="+this.classNum

+"]\n";

}

//实现compareTo方法

public int compareTo(Student s)

{

//强制类型转换

//Student s=(Student)o;

//用classNum作为基准进行排序

return this.classNum-s.classNum;

}

}

public class S{

private static TreeSetts1=new TreeSet();

public static void main(String[] args){

ts1.add(new Student("tom",21,97005));

ts1.add(new Student("jerry",19,97003));

ts1.add(new Student("lucy",18,97004));

ts1.add(new Student("smith",28,97001));

ts1.add(new Student("jc",23,97002));

System.out.println("这里的Sorted集是按年龄从大到小进行的排序:");

System.out.println(ts1);

}}

2、使用对象模拟“商店客户折扣卡”功能

实验内容

编程实现一个模拟的用户消费信用卡的示例,在其中用户Customer类具有用户名、地

址、卡号、消费额度、可以享受的打折度等多种个人信息;而CustomerDemo类中建立3个

消费者,对其分别进行操作,模拟其行为。运行后效果如图4-14所示。

实验目的Array在前几节介绍了面向对象的基本概念,包括

类、对象、属性以及方法。在这个基础上,用两

个面向对象的简单程序,继续让读者充分体会面

向对象编程的方法。

实现思路

简单模拟了一个商店客户折扣卡的功能,自

定义Customer类用来保存在某个商店中的客户的

折扣卡信息。在主类CustomerDemo中,创建

Customer类的一个数组对象,该数组中包含了三

个Customer的对象,用来保存三个不同的消费者

各自持有的折扣卡信息。通过这三个对象,可以

根据用户消费的金额来改变用户在本店中所能享

受的折扣价格。

图实验运行结果关键代码如下所示:

//声明三个消费用户Customer对象

Customer customer[] = new Customer[3];

public CustomerDemo()

{

//创建并初始化所声明的三个Customer对象

customer[0] = new Customer("c0001","wangxyw","BeiJing","wangxyue@https://www.doczj.com/doc/6b4171104.html,");

customer[1] = new Customer("c0002","Xu Quan","ShangHai","chunticha@https://www.doczj.com/doc/6b4171104.html,");

customer[2] = new Customer("c0003","Xu Guang Yang","BeiJing","xugy@https://www.doczj.com/doc/6b4171104.html,");

//customer[0]用户消费2800.00元

customer[0].buy(2800.00);

//设置用户下次购物所能享受的折扣

customer[0].setDiscount();

//customer[1]用户消费1688.00元

customer[1].buy(1688.00);

//设置用户下次购物所能享受的折扣

customer[1].setDiscount();

//customer[2]用户消费980.00元

customer[2].buy(980.00);

//设置用户下次购物所能享受的折扣

customer[2].setDiscount();

//显示所有用户的全部信息

for (int i = 0; i < customer.length; i++)

{

System.out.println("customer["+i+"]");

System.out.println("cardID:"+customer[i].getCardID());

System.out.println("name:"+customer[i].getName());

System.out.println("cost:"+customer[i].getCost());

System.out.println("discount:"+customer[i].getDiscount()*10); System.out.println("address:"+customer[i].getAddress());

System.out.println("email:"+customer[i].getEmail()+"\n");

}

}

class Customer

{

private String cardID; //用于折扣卡卡号

private String name; //用户名

private double cost = 0; //用户消费金额

private String address; //用户住址

private String email; //用户email

private double discount = 1; //用户所能享受的折扣

public Customer(String id,String name,String add,String email)

{

cardID = id;

https://www.doczj.com/doc/6b4171104.html, = name;

address = add;

this.email = email;

}

//当用于购买商品后,增加用户消费值

public void buy(double cost)

{ this.cost += cost; }

//根据用户的消费额度来改变用户所能享受的折扣

public void setDiscount()

{

if(cost>2000.00)

discount -= 0.1;

else if(cost>1000.00)

discount -= 0.05;

}

//用于获取和设置用户地址的方法

public String getAddress()

{ return address;}

public void setAddress(String address)

{ this.address = address;}

//用于获取和设置用户卡号的方法

public String getCardID()

{ return cardID; }

public void setCardID(String cardID)

{ this.cardID = cardID;}

//用于获取用户消费金额的方法

public double getCost()

{ return cost; }

//用于获取用户地折扣值的方法

public double getDiscount()

{ return discount; }

//用于获取和设置用户信箱地址的方法

public String getEmail()

{ return email; }

public void setEmail(String email)

{ this.email = email; }

//用于获取和设置用户名的方法

public String getName()

{ return name; }

public void setName(String name)

{ https://www.doczj.com/doc/6b4171104.html, = name;}

}

通过javac、java等命令编译并运行程序,运行程序结果如图所示。程序:

《Java语言程序设计》实验指导手册

Java语言程序设计实验指导手册 班级:_______________ 学号:_______________ 姓名:_______________ 电子与信息工程学院计算机科学系

第一部分上机实验的指导思想和要求 一、上机实验的目的 《Java语言程序设计》是计算机专业的主要选修课。Java语言是目前广为流行的程序设计语言之一,适用于网络上编程,满足Internet上软件开发的需要,它是一门概念性和实践性都很强的专业课程。通过学习本课程,应能准确完整地理解Java语言的语法、语义规则;掌握Java语言的数据类型、表达式及控制流程;运用面向对象程序设计思想,正确的阅读、分析程序和设计程序,掌握面向对象程序设计方法,提高程序设计能力,以适应计算机学科不断发展的需要。 通过系统地上机练习,力求能够达到以下三个目的: 1、课堂讲授内容的理解,从计算机语言的基本概念、程序设计的基本方法、语法规则等方面加深理解,打好程序设计、开发软件的良好基础。 2、上机实验中,提高学生对Java语言各部分内容的综合使用能力,逐步掌握Java 语言程序设计的规律与技巧。 3、在对Java程序的调试过程中,提高学生分析程序中出现的错误和排除这些错误的能力。 二、上机实验前的准备工作 在上机实验前应事先做好准备工作,以提高上机实验的效率,准备工作至少应包括: 1、复习和掌握与本实验有关的教学内容; 2、实验前对每次上机需要完成的题目进行认真的分析,列出实验具体步骤; 3、写出符合题目要求的程序清单,准备出调试程序使用的数据,以便提高上机实验的效率。 4、对运行中可能出现的问题事先作出估计,对程序中自己有疑问的地方,应作出记号,以便在上机时给予注意。 三、上机实验的步骤 上机实验一般应包括以下几个步骤: 1、进入Java工作环境(例如命令提示符或MyEclipse集成开发环境)。 2、配置JDK的环境变量。 3、编译并调试Java源程序。如果在编译过程中发现错误,屏幕上会出现“出错信息”,根据提示找到出错位置和原因,加以改正。再进行编译……,如此反复直到程序顺利通过编译为止。

Java上机练习题

Java 复习题 第一章 1、分别用Java应用程序和Java小程序编写程序:在屏幕上输出“Hello,欢迎来到精彩的 Java世界!”。 程序:①应用程序:HelloWorld1.java ②小程序:HelloWorld.java和A.htm Java 应用程序: 《HelloWorld1.java》 public class HelloWorld1{ public static void main(String[] args){ System.out.println("Hello,欢迎来到精彩的Java世界!"); } } Java 小程序: 《HelloWorld.java》 import java.applet.Applet; import java.awt.Graphics; public class HelloWorld extends Applet{ public void paint(Graphics g){ g.drawString("Hello,欢迎来到精彩的Java世界!",2,20); } } 《A.htm》 我的第一个JAVA Applet程序 第二章 1、26页案例3:TriangleArea.java(三角形面积) 编写一个java程序,已知三角形三边边长,求三角形面积。要求三条边长从控制台输入。其中4,3,6分别代表三角形的三条边。 《TriangleArea.java》 public class TriangleArea{ public static void main(String[] args){ double a=Double.parseDouble(args[0]); double b=Double.parseDouble(args[1]); double c=Double.parseDouble(args[2]); if(a+b<=c||a+c<=b||b+c<=a)

java上机练习题

要求:代码规范,代码风格,思路正确,功能实现 1、设计一个能随机产生100个大写英文字母的方法,在该方法中统计产生了多少元音字母,并输出这个数字。 2、编写一个矩形类Rect,包含: 两个protected属性:矩形的宽width;矩形的高height。 两个构造器方法: (1)一个带有两个参数的构造器方法,用于将width和height属性初化; (2)一个不带参数的构造器,将矩形初始化为宽和高都为10。 两个方法: (1 求矩形面积的方法area() (2 求矩形周长的方法perimeter() 4.编写一个Java源程序,在程序中建立一个含10个整型(int)元素的一维数组,对数组中的每个元素赋值,然后按下标的逆序输出。 5. 设计一个圆类(Circle),将圆的位置(圆心坐标和半径)作为属性(提供任意圆的设置),并能计算圆的面积。 Circle类必须满足以下要求: (1) 圆类Circle 的属性有: cPoint_x : int型,代表圆心横坐标。 cPoint_y : int型,代表圆心纵坐标。 cRadius: double型,代表圆的半径。 cPI: double型,最终静态变量初值为3.14,代表圆的圆周率。 cArea: double型,代表圆的面积。 (2) 圆类Circle 的方法有: Circle ( ) : 构造函数,将圆的圆心置坐标原点,半径置1。 Circle ( int x , int y, double r) : 构造函数,形参 r 为半径的初值,x为横坐标的初值,y为纵坐标的初值。 double cAreaCount() : 计算当前圆类对象的面积并赋值给Circle类的cArea属性,返回cArea的值给此方法的调用者。 String toString( ) : 把当前圆类对象的圆心坐标、半径以及面积组合成“圆心为(x, y)半径为r的圆的面积为cA”字符串形式,其中x、 y、r和cA分别为横坐标、纵坐标、半径和面积的数据。 7、猜数游戏 随机生成一个数 输入一个数 如果比随机生成的数大,显示“猜错了,比这个数小” 如果比随机生成的数小,显示“猜错了,比这个数大” 如果相等,显示“恭喜你,答对了” 8、写一个彩票程序

Java面向对象上机试题(经典)

《使用Java实现面向对象编程》阶段测试-机试试卷 一、语言和环境 A、实现语言 Java B、环境要求 JDK 6.0、MyEclipse7.5 二、功能要求 开发基于控制台的购书系统。具体要求如下: (1)输出所有图书的信息:包括每本图书的图书编号、图书名称、图书单价和库存数量。 (2)顾客购买图书:根据提示输入图书编号来购买图书,并根据提示输入购买图书数量(用户必须连续购书三次)。 (3)购书完毕后输出顾客的订单信息:包括订单号、订单明细、订单总额和订单日期。 系统运行界面如图-1所示。

图-1 系统运行界面三、类的设计 该系统中必须包括三个类,类名及属性设置如下。 图书类(Book) ?图书编号(bookId) ?图书名称(bookName) ?图书单价(price) ?库存数量(storage) 订单项类(OrderItem) ?图书名称(bookName) ?图书单价(price) ?购买数量(num) 订单类(Order): ?订单号(orderId)

?订单总额(total) ?订单日期(date) ?订单项列表(items) 四、具体要求及推荐实现步骤 1、创建图书类,根据业务需要提供需要的构造方法和setter/getter方法。 2、创建订单项类,根据业务需要提供需要的构造方法和setter/getter方法。 3、创建订单类,根据业务需要提供需要的构造方法和setter/getter方法。 4、创建测试类Test,实现顾客购买图书。 A、获取所有图书信息并输出:创建至少三个图书对象并输出即可。 B、顾客购买图书:顾客通过输入图书编号来购买图书,并输入购买数量。 C、输出订单信息:包括订单号、订单明细、订单总额、订单日期。

Java语言程序设计上机实验指导手册

《Java语言程序设计》 上机实验指导手册 实验一 Java环境演练 【目的】 ①安装并配置Java运行开发环境; ②掌握开发Java应用程序的3个步骤:编写源文件、编译源文件和运行应用程序; ③学习同时编译多个Java源文件。 【内容】 1.一个简单的应用程序 ?实验要求: 编写一个简单的Java应用程序,该程序在命令行窗口输出两行文字:“你好,很高兴学习Java”和“We are students”。 ?程序运行效果示例: 程序运行效果如下图所示: ?程序模板: Hello.java public class Hello { public static void main (String args[ ]) { 【代码1】//命令行窗口输出"你好,很高兴学习Java" A a=new A(); a.fA(); } } class A { void fA() { 【代码2】//命令行窗口输出"We are students" } } ?实验后的练习: 1.编译器怎样提示丢失大括号的错误? 2.编译器怎样提示语句丢失分号的错误? 3.编译器怎样提示将System写成system这一错误? 4.编译器怎样提示将String写成string这一错误? 2.联合编译 ?实验要求: 编写4个源文件:Hello.java、A.java、B.java和C.java,每个源文件只有一个类,Hello.java是一个应用程序(含有main方法),使用了A、B和C类。将4个源 文件保存到同一目录中,例如:C:\100,然后编译Hello.java。

?程序模板: 模板1:Hello.java public class MainClass { public static void main (String args[ ]) { 【代码1】 //命令行窗口输出"你好,只需编译我" A a=new A(); a.fA(); B b=new B(); b.fB(); } } 模板2 :A.java public class A { void fA() { 【代码2】 //命令行窗口输出"I am A" } } 模板3 :B.java public class B { void fB() { 【代码3】 //命令行窗口输出"I am B" } } 模板4 :C.java public class C { void fC() { 【代码4】 //命令行窗口输出"I am C" } } ?实验后的练习: 5.将Hello.java编译通过后,不断修改A.java源文件中的代码,比如,在命令行窗口输出“我是A类”或“我被修改了”。要求每次修改A.java源文件后,

java 上机练习题

上机练习一 一、将Vehicle 和VehicleDriver两个文件用自己的文本编辑器重新编辑并编译和运行,掌握类和对象的定义和使用 1、V ehicle.java (注意:以下代码有几个错误的地方,需要同学自己把他们找出来并更正过来) public class Vehicle{ public float journey; public int wheelNum; public int loadNum; public int driveSpeed; /** *Vehicle 类构造函数,设定初始值 */ public Vehicle(){ journey=100.3f; wheelNum=4; loadNum=1; } /** *Vehicle类的driveAt行驶方法 */ public void driveAt(int speed){ if (speed>=60){ System.out.println("行车速度太快,容易造成事故"); //如果要求的车速太快,则机动车自动以40单位速度行驶 driveSpeed=40; } else {

System.out.println("你在安全行驶速度内行驶"); driveSpeed=speed; } } } 2、V ehicleDriver.java public class VehicleDriver{ public String name; //定义司机的名字 /** *VehicleDriver 类构造函数 */ public VehicleDriver(){ name="TOM"; } /** *VehicleDriver 类对象的work方法 */ public void work(){ Vehicle v=new Vehicle(); //生成Vehicle类的对象v v.driveAt(70); //调用v对象所固有的driveAt()方法 } public static void main(String args[]){ //生成VehicleDriver类的对象vb VehicleDriver vd=new VehicleDriver(); vd.work(); //调用vd对象所固有的work()方法

Java基础笔试机试测试题(带答案)

Java基础考试题 班级:__________ 姓名:___________ 日期:_____________ 一、笔试(45题,每题2分) 1) 分析下面的Java程序段,编译运行后的输出结果是()。 public class Test { public static void changeString(StringBuffer sb) { sb.append("stringbuffer2"); } public static void main(String[] args) { StringBuffer sb = new StringBuffer("stringbuffer1"); changeString(sb); System.out.println("sb = " + sb.toString()); } } A. sb = stringbuffer2stringbuffer1 B. sb = stringbuffer1 C. sb = stringbuffer2 D. sb = stringbuffer1stringbuffer2 2) 在Java中,包有多种用途,但不包含()。 A. 将类组合成较小的单元,便于使用 B. 有助于避免命名冲突 C. 有助于提高运行效率 D. 允许在更广的范围内保护类、数据和方法 3) 在Java中,如果要在字符串类型s="java" 中,得到字母'v' 出现的位置,选()语句。 A)s.matches('v'); B)s.charAt('v'); C)s.indexOf('v'); D)s.substring('v'); 4)下列代码运行后,变量 c 的值是()。 int a=15,b=10; double c=a/b; a) 1.5 b) 1.0 c) 1 d) 0 5)main 方法如下所示,该程序的运行结果是()。 public static void main(String [] args){ int i=0; System.out.print(i++); } a) 输出0 b) 输出1 c) 编译错误d) 运行时出现异常

Java面向对象编程上机-练习题汇总

【练习题】类的成员变量: 猜数字游戏:一个类A有一个成员变量v,有一个初值100。定义一个类,对A 类的成员变量v进行猜。如果大了则提示大了,小了则提示小了。等于则提示猜测成功。 【练习题】类的成员变量: 请定义一个交通工具(Vehicle)的类,其中有: 属性:速度(speed),体积(size)等等 方法:移动(move()),设置速度(setSpeed(int speed)),加速speedUp(),减速speedDown()等等. 最后在测试类Vehicle中的main()中实例化一个交通工具对象,并通过方法给它初始化speed,size的值,并且通过打印出来。另外,调用加速,减速的方法对速度进行改变。 【练习题】类的成员变量与方法、构造方法 在程序中,经常要对时间进行操作,但是并没有时间类型的数据。那么,我们可以自己实现一个时间类,来满足程序中的需要。 定义名为MyTime的类,其中应有三个整型成员:时(hour),分(minute),秒(second),为了保证数据的安全性,这三个成员变量应声明为私有。 为MyTime类定义构造方法,以方便创建对象时初始化成员变量。 再定义diaplay方法,用于将时间信息打印出来。 为MyTime类添加以下方法: addSecond(int sec) addMinute(int min) addHour(int hou) subSecond(int sec) subMinute(int min) subHour(int hou) 分别对时、分、秒进行加减运算。 【练习题】构造方法 编写Java程序,模拟简单的计算器。 定义名为Number的类,其中有两个整型数据成员n1和n2,应声明为私有。编写构造方法,赋予n1和n2初始值,再为该类定义加(addition)、减(subtration)、乘(multiplication)、除(division)等公有成员方法,分别对两个成员变量执行加、减、乘、除的运算。 在main方法中创建Number类的对象,调用各个方法,并显示计算结果。 【练习题】构造方法: 编写Java程序,用于显示人的姓名和年龄。 定义一个人类(Person),该类中应该有两个私有属性,姓名(name)和年龄(age)。定义构造方法,用来初始化数据成员。再定义显示(display)方法,将姓名和年龄打印出来。

常见的Java上机面试题

常见的Java上机面试题 在程序员面试中,主要的考试形式分为笔试和上机编程考试两部分。笔试主要考查面试者的基础是否牢固;上机考试主要考查面试者的实际开发能力和技术技巧。 上机编程考试,要求面试者能够根据题目的要求,使用一种编程工具,编写全部代码并调试运行。这主要是考查面试者代码书写和编程的熟练程度。值得注意的是,这类面试题要求能够正确运行,往往要求面试者使用比较原始的JDK编译方式也就是使用DOS命令提示符,而不是提供Eclipse或者JBuilder等快速开发环境。本章将经常出现的上机编程题进行分类,希望能够给读者带来帮助和启示。 17.1 Java基础编程试题(1) 在上机编程类的面试题中,大部分涉及基础编程,例如算法、语法、常用的类等知识点。 面试题1 怎样截取字符串 考题题干 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF"6,应该输出"我ABC",而不是"我ABC+汉的半个"。 试题分析 本面试题容易产生困惑的是中文字符和英文字符,在这里需要考虑汉字和英文字符的占用字节数问题,中文字符占两个字节,英文字符占一个字节,理解了这个,就很容易完成本题了。 参考答案 具体代码实现如下: 1.package core_java; 2.import java.util.Scanner; 3.public class InterceptionStr { 4.static String ss; //要进行截取操作的字符串 5.static int n; //截取的字符串的字节数 6.public static void main(String[] args) { 7. System.out.println("请输入字符串:"); 8. Scanner scStr = new Scanner(System.in); //从键盘获取字符串 9. ss = scStr.next(); // 将Scanner对象中的内容以字符串的形式取出来 10. System.out.println("请输入字节数:"); 11. Scanner scByte = new Scanner(System.in); //从键盘获取字符串 12. n = scByte.nextInt(); //将Scanner对象中的内容以数值的形式取出来

《Java程序设计》上机实验

实验 1: 熟悉上机环境,编写并运行简单的java 程序( 3 学时) 实验目的 (1)熟悉 Java 程序开发环境 J2SDK+JCreator的安装及使用 (2)熟悉 Java Application 和 Applet 程序的结构及开发步骤 (3)熟练掌握 if 语句的使用 (4)掌握 Math.sqrt()等常用数学函数的用法 (5)熟悉 System.out.print()的用法 实验内容及要求 按Java Application 和 Applet 两种方式分别编写程序,求一元二次方程 ax2+bx+c=0 的根(系数在程序中给定),并输出。 思考并验证 (1)分别给定以下几组系数,给出输出结果a=1, b=5, c=3 a=4, b=4, c=1 a=2, b=3, c=2:+ i + i (2)如果程序的 public 类的类名和源文件的文件名不一样会有什么问题? (3)将类的 public 修饰去掉是否可行?接着再将类名换为其它是否可行?这说明了什么 ? (4)将程序中 main 前面的 public 去掉,重新编译执行你的程序,你看到了什么信息? (5)将程序中 main 前面的 static 去掉,重新编译执行你的程序,你看到了什么信息?为 什么? (6)本次上机中,你还遇到了什么问题,是如何解决的? 第1 页

实验 2:控制流程1(3 学时 ) 实验目的 (1)进一步熟悉使用 if 语句 (2)掌握循环语句实现循环的方法 实验内容及要求 输出时,只使用下面的语句: System.out.print(“”); //输出一个空格,并且不换行System.out.print(“*”); //输出一个字符’*’,并且不换行System.out.print(“+”); //输出一个字符’+’,并且不换行System.out.println(“*”;) // 输出一个字符’*’,并换行 编写程序输出(注:在图形的中心处有一个加号’+’): * * * * ***** ***+*** ***** * * * * 思考并验证 下面程序片段给出了从键盘输入一个整数的方法: import java.io.*; InputStreamReader ir; BufferedReader in; ir=new InputStreamReader(System.in); in=new BufferedReader (ir); try {String s=in.readLine(); int i=Integer.parseInt(s);//转换成整形

《java程序设计》实验指导书(完整)

实验一 Java实验环境的建立一、实验目的 1.掌握Java编程环境的搭建过程; 2.掌握Jcreator pro软件的使用方法; 3.能使用Java doc文档。 二、实验内容 1.下载并安装,配置JDK环境变量; 2.下载Javadoc压缩包并解压在JDK安装路径下; 3.下载Jcreator pro 并安装和配置使用环境; 4.使用实验环境运行书中实例代码,在屏幕上输出“Hello Java”字符串。 ①Java application程序代码如下: public class HelloJava { public static void main(String args[]) { "Hello Java!"); } } ②Java applet程序代码如下: import .*; public class Hello extends { public void paint(Graphics g) { ("Hello!",30,30); } } 三、试验要求 1、预习试验内容并写出上机报告。 2、实验中出现的问题及实验体会。

一、实验目的: 1.输入、输出操作实现原理和方法 2.掌握程序流程控制的实现方法 3.掌握数组的定义和操作方法 二、实验内容 1.计算 Result=1!+2!+3!+ (10) public class TestJieC{ p ublic static void main(String arg[]){ long result=1; for(int i=1;i<=10;i++) { result=i*result; result+=result; } " "+result); } } 2.计算1---50之间所有素数的和。 public class Test{ p ublic static void main(String args[]){ int count = 0; for(int i = 2;i<=50;i++){ for(int j = 2;j<=i;j++){ if(i>j){ if(i%j == 0){ count++; } } } if(count==0){

Java上机题目及答案代码

Java上机实践三 实验题目1 假设字符串s1、s2、s3的定义如下: String s1 = “A String”; String s2 = “A String”; String s3 = s1; 请写出下列表达式的值: s1 == s2 s1 == s3 s1.length() s1.equals(s2) s1.equals(s3) https://www.doczj.com/doc/6b4171104.html,pareTo(s2) https://www.doczj.com/doc/6b4171104.html,pareTo(s3) s1.concat(s3) s1.indexOf(‘t’) https://www.doczj.com/doc/6b4171104.html,stIndexOf(‘t’) 实验目的 (1)熟悉字符串类String。 (2)学习创建类String的对象。 (3)学习使用类String执行字符串操作。 实验步骤 (1)按题目的要求创建String对象s1、s2,并声明对象引用s3指向s1;(2)调用String类的相关方法,执行指定操作并输出结果。 package lab1; public class Showstr { public static void main(String[] args){ String s1 ="A String"; String s2 ="A String"; String s3 = s1; System.out.println(s1 == s2); System.out.println(s1 == s3); System.out.println(s1.length()); System.out.println(s1.equals(s2)); System.out.println(s1.equals(s3)); System.out.println(https://www.doczj.com/doc/6b4171104.html,pareTo(s2)); System.out.println(https://www.doczj.com/doc/6b4171104.html,pareTo(s3)); System.out.println(s1.concat(s3));

java上机实验答案与解析

JAVA上机实验题答案与解析 实验一 Java程序编程 1.编写一个Java应用程序,输出容为Hello!。 注:文件位置位于e:\2:\Hello.java 编译:(1)e:(2)cd 2 (3)javac Hello.java(4)java Hello 2.编写一个Java小应用程序,输出容为我一边听音乐,一边学Java。 第一步编写 import java.awt.*; import java.applet.*; public class MyApplet extends Applet{ public void paint(Graphics g){ g.drawString("我一边听音乐,我一边做java",25,25); } } 第二步在DOS环境中编译(....javac MyApplet.java) 第三步使用记事本编写 第四步将记事本文件名命名为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; Point(double x,double y){ this.x=x; this.y=y; } double getX(){ return x; } double getY(){ return y; } void setX(double x){ this.x=x;

应用Java程序方案上机实验指导

Java程序设计上机实验指导 <内部资料) 学号: 姓名: 专业: 班级: 大连理工大学城市学院

前言 《Java程序设计》是软件工程专业和计算机科学与技术专业的一门重要专业基础课。本指导书结合课堂理论教案与上机实践教案,针对学生在上机操作时的盲目性, 由浅入深地详细描述实验步骤和实验过程,并提供形式多样的编程题目,直观生动,使学生在学习过程中遇到问题能够有的放矢,从而能够更好地提高编程能力。 本指导书的目的旨在加深学生对所学知识点的记忆和理解,每次实验后增设实践题目和课后上机练习,使学生通过思考和课后练习,能够熟练掌握Java 程序设计知识,加快学习效率,并灵活运用该语言进程工程的开发,提高编程的能力,做到快速入门。 由于编者水平和经验有限,疏漏之处在所难免,恳请读者不吝赐教。

目录

上机实验一: Java开发环境设置与简单程序编写 古人云,工欲善其事,必先利其器。没有编程开发的环境,一切都无从谈起。因此我们先学会安装和配置Java开发工具包。Java的开发过程需要编写源程序、编译生成字节码和运行三个部分,除了编写源程序可在任意的文本编辑器中完成外,编译和运行都需要在一定的环境下实现。 目前可供开发人员选择的Java语言开发环境很多,常用的Java开发包是JDK

java第三章上机练习题

习题1. 数据类型转换应用 【案例简介】下例说明了整型、浮点型、字符串型之间的相互转换。 【案例目的】掌握Java中两个不兼容类型能够的数据格式之间的转换。 【技术要点】高精度到低精度的数据转换时候需要进行强制转换,低精度向高精度进行转换的时候的会自动进行,字符串到其他类型的转换需要用到特定的方法。 【代码分析】 public class Conversation { public static void main(String [] args) { String str = "123"; int j; byte b; int i=257; double d = 323.142; System.out.println("\nConversion of int to byte."); //i强制转换成byte型 System.out.println("i and b "+ i + " "+b); System.out.println("\nConversion of double to int."); //d强制转换成int型 System.out.println("d and i "+ d + " "+i); //d强制转换成byte型 System.out.println("d and b "+ d + " "+b); j=Integer.parseInt(str); //str转换成int型 System.out.println("j="+j); } } 【相关知识】 数据类型转换 (1)简单数据类型中各类型数据间的优先关系和相互转换 不同类型数据间的优先关系如下 低----------------------------------------------->高 byte->short->char-> int -> long -> float -> double 自动类型转换规则 整型,实型,字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算,转换从低级到高级。 (2)强制类型转换 高级数据要转换成低级数据,需用到强制类型转换,如: int i; byte b=(byte)i; //把int型变量i强制转换为byte型 (3)其他转换 数字变为字符串 用如下方法转换相应类型的数字: Double.toString(double); Float.toString(float);

Java基础上机题_分类整理版汇总

一、类和对象基础题(共13题) 1.编写一个Java应用程序,该程序中有3个类:Lader、Circle和主类A。具体要求如下:Lader类具有类型为double的上底、下底、高、面积属性,具有返回面积的功能,包括一个构造方法对上底、下底、高进行初始化。Circle类具有类型为double的半径、周长和面积属性,具有返回周长、面积的功能,包括一个构造方法对半径进行初始化。主类A用来测试类Lader和类Circle的功能。 2.按要求编写Java应用程序: (1)编写西游记人物类(XiYouJiRenWu) 其中属性有:身高(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()用于输出学生信息。其次,再定义一个主类——TestClass,在主类的main方法中创建多个Student类的对象,使用这些对象来测试Student类的功能。 6.编写一个Java应用程序,该应用程序包括2个类:Print类和主类E。Print 类里有一个方法output()功能是输出100 ~ 999之间的所有水仙花数(各位数字的立方和等于这个三位数本身,如: 371 = 33 + 73 + 13。)在主类E的main方法中来测试类Print。 7.编写Java应用程序。首先,定义一个Print类,它有一个方法void output(int

Java 2实用(第4版)实验指导与习题解答_IT168文库答辩

上机实践1初识Java 实验1一个简单的应用程序 1.相关知识点 Java语言的出现是源于对独立于平台语言的需要,即这种语言编写的程序不会因为芯片的变化而发生无法运行或出现运行错误的情况。目前,随着网络的迅速发展,Java语言的优势越发明显,Java已经成为网络时代最重要的语言之一。 Sun公司要实现“编写一次,到处运行”(Write once,run anywhere的目标,就必须提供相应的Java运行平台,目前Java运行平台主要分为下列3个版本。 (1Java SE:称为Java标准版或Java 标准平台。Java SE 提供了标准的JDK开发平台。利用该平台可以开发Java桌面应用程序和低端的服务器应用程序,也可以开发Java Applet 程序。当前成熟的新的JDK版本为JDK 1.6。 (2Java EE:称为Java企业版或Java企业平台。使用J2EE可以构建企业级的服务应用,Java EE平台包含了Java SE平台,并增加了附加类库,以便支持目录管理、交易管理和企业级消息处理等功能。 (3Java ME:称为Java微型版或Java小型平台。Java ME是一种很小的Java运行环境,用于嵌入式的消费产品中,如移动电话、掌上电脑或其他无线设备等。 无论上述哪种Java运行平台都包括了相应的Java虚拟机(Java Virtual Machine,虚拟机负责将字节码文件(包括程序使用的类库中的字节码加载到内存,然后采用解释方式来执行字节码文件,即根据相应硬件的机器指令翻译一句执行一句。J2SE平台是学习掌握Java语言的最佳平台,而掌握J2SE又是进一步学习J2EE和J2ME所必需的。 2.实验目的

java上机训练题

Java 上机训练题 1.编写程序,输入两个整数:1500和350,求出它们的商和余数并输出。 2.编写程序,读入三个整数给a,b,c,然后交换它们中的数,把a中原来的值 给b,b中原来的值给c, c中原来的值给a,且输出改变后的a,b,c的值。 3.输入两个整型变量a,b的值,输出a+b,a-b,a*b,a/b,(float)a/b,a%b的结果, 要求连同算式一起输出,每个算式占一行。 例:a等于10,b等于5,a+b的结果输成 10+5=15 4.输入一个非负数,计算以这个数为半径的圆周长和面积。 5.输入任意一个三位数,将其各位数字反序输出(例如输入123,输出321). 6.输入任意大小的三个整数,判断其中是否有两个奇数一个偶数。若是,则输 出“YES”,不是则输出“NOT” (要求用条件表达式进行判断,不使用if 语句) 7.求出100至300内所有百位和个位相加能被3整除的数字。 8.编程求S=1/1!+1/2!+1/3!+........+1/n!直到1/n!<=1e-6 9.编写程序实现用一元人民币换成一分、两分、五分的硬币共50枚。 10.输入1个四位数,求各位数字的平方和。 例如:输入 1234,输出30。 11.写出满足不等式1+1/2+1/3+1/4+...+1/N>15最小的N值,并输出s的值。 12.铁路托运行李规定:行李重不超过50公斤的,托运费按每公斤0.15元计费; 如超50公斤,超过部分每公斤加收0.10元。编一程序完成自动计费工作。 13.相邻两个奇数都为素数的这样一对数叫双胞胎素数,输出100到200之间的所有双胞胎素数。 14.输入一串字符以“#”结束,如果它是大写字母转换为小写字母输出,如果是小写字母转换为大写字母输出。如果不是字母,则照直输出。 15.输入一个四位数,要求将它的千位、百位、十位、个位上的数字按由小到大排列,输出一个新数。(如:输入 4287 要求输出为 2478) 16.输入两门课的成绩,如果两门成绩都在60分以上。则输出“it is pass.”只要有一门低于60分就输出“it is not pass.”如果输入的任何一门成绩不在0-100范围内则输出“it is error.”。(要求用switch语句来编程) 17.求任一数字的所有因子的组合(仅限两个因子),如:15=1*15 ,15=3*5不能出现重复。如:15=5*3,15=15*1就不用输出。 18.从键盘输入几个数,以0作为结束标志,判断其正负,并求其平方和。

二级java上机题库

二级JA V A上机试题汇编 ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※第01套: 1. 基本操作(1小题,计30分) 注意:下面出现的“考生文件夹”均为%USER% 在考生文件夹中存有文件名为Java_1.java的文件,该程序是不完整的,请 在注释行“//**********Found**********”下一行语句的下划线地方填入 正确内容,然后删除下划线,请勿删除注释行或改动其他已有语句内容。 存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。 本题的要求是: 完善Java_1.java程序,并完成两个整数的输入,两个整数为: 最后按确定键退出程序。 给定源程序: //计算两个整数的乘法 import javax.swing.JOptionPane; public class Java_1 { public static void main( String args[] ) { int x, y, result; String xVal, yVal; xVal = JOptionPane.showInputDialog( "输入第1个整数:" ); yVal = JOptionPane.showInputDialog( "输入第2个整数:" ); //*********Found******** x = Integer.parseInt( __________________ ); y = Integer.parseInt( yVal ); result = x * y; //*********Found******** JOptionPane._________________________( null, "两个数的积: " + result ); System.exit( 0 ); } } 解题思路: Java程序修改如下: 第1处:需转换成整数的字符串变量,需填入xVal 第2处:调用显示信息对话框,需填入showMessageDialog 参考源程序:c:\wexam\28990001\hlpsys\参考答案\Java_1.java 请把该程序复制到c:\wexam\28990001中,然后进行编译和执行。 2. 简单应用(1小题,计40分) 注意:下面出现的“考生文件夹”均为%USER% 在考生文件夹中存有文件名为Java_2.java的文件,该程序是不完整的,请 在注释行“//**********Found**********”下一行语句的下划线地方填入

相关主题
文本预览
相关文档 最新文档