文档库 最新最全的文档下载
当前位置:文档库 › java实验答案解读

java实验答案解读

java实验答案解读
java实验答案解读

实验一

水仙花数:

class shuixianhua

{//水仙花数

public static void main(String arg[]) {

int i,a,a1,b,b1,c;

for(i=100;i<1000;i++)

{

a=i%10;

a1=i/10;

b=a1%10;

b1=a1/10;

c=b1%10;

if(i==(a*a*a+b*b*b+c*c*c))

System.out.println(i);

}

}

}

输出如下:

153

370

371

407

打印出100以内素数:

public class sushu {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

int i,j,k=0;

for(i=2;i<100;i++){

if(i==2)

System.out.println(i);

i++;

for(j=2;j

{

if(i%j!=0)

k=1;

}

if(k==1)

System.out.println(i);

}

}

求1!+2!+ (20)

public class jiecheng {

public static void main(String[] args) {

int i,sum=0,k;

for(i=1;i<=20;i++)

{

k=ji(i);

sum=k+sum;

}

System.out.print(sum);

}

static int ji(int n)

{

if(n==1)

return 1;

else

return ji(n-1)*n;

}

}

习题2.6

public class Test{

public static void main(String[] args)//第19题,打出图形.菱形{

int n=3;

for(int i=1;i<=n;i++)

{

for(int k=n-1;k>=i;k--)

{

System.out.print(" ");

}

for(int j=1;j<=2*i-1;j++)//打印*

{

System.out.print("*");

}

System.out.println();

}

}

}

编写程序,命令行窗口输出希腊字母表。(希腊字母表开始为α,最后一个为ω)

import java.applet.*;

import java.awt.*;

public class myapplet extends Applet

{

public void paint(Graphics g)

{

String str="";

for(char a='α';a<'ω';a++)

{

str+=a;

}

g.drawString(str, 2, 10);

}

}

实验二

设计一个名为figure的图形软件包(package)。包中包含三角形、矩形、圆三个类。要求:(1)每个类都要构造方法并为成员设置get和set方法;(2)每个类都要有计算周长和面积的成员方法;(3)完成该软件包后的编码后,在另一个包的含有main方法的类中编写代码,分别使用图形软件包中的三个类,生成三个对象,并打印出其周长和面积。

Triangle.java

package figure;

public class Triangle

{

private double a,b,c;

public Triangle(double x,double y,double z)

{

a = x;

b = y;

c = z;

}

public void get()

}

public void set(double x,double y,double z) {

a = x;

b = y;

c = z;

}

public double Perimeter()

{

double per = a + b + c;

return per;

}

public double Area()

{

double area = 0;

double p=(a+b+c)/2;

double s = p*(p-a)*(p-b)*(p-c);

area = (double)Math.sqrt(s);

return area;

}

}

Rectangle.java

package figure;

public class Rectangle

{

private double length;

private double width;

public Rectangle(double l,double w)

{

length = l;

width = w;

}

public void get()

{

}

public void set(double l,double w)

length = l;

width = w;

}

public double Perimeter()

{

double per = 2*(length + width);

return per;

}

public double Area()

{

double area = length * width;

return area;

}

}

Circle.java

package figure;

public class Circle

{

private double r;

private double PI = 3.14;

public Circle(double x)

{

r = x;

}

public double get()

{

return r;

}

public void set(double x)

{

r = x;

}

public double Perimeter()

{

double per = 2*(PI * r);

return per;

}

public double Area()

{

double area = PI*(double)Math.pow(r,2);

return area;

}

}

figureTest.java

package Test;

import figure.Circle;

import figure.Rectangle;

import figure.Triangle;

public class figureTest

{

public static void main(String[] args)

{

Circle c =new Circle(3.2);

System.out.println(c.Area());

System.out.println(c.Perimeter());

Rectangle r = new Rectangle(3,4);

System.out.println(r.Area());

System.out.println(r.Perimeter());

Triangle t = new Triangle(3,4,4);

System.out.println(t.Area());

System.out.println(t.Perimeter());

}

}

编写类Factorial,为其添加两个静态方法(方法名自定义)。其中一个使用递归计算n的阶乘,一个使用非递归计算n的阶乘。构造main方法进行测试。

public class Fac {

public static void main(String[] args) {

int n = 5;

long fac = digui(n);

long fac2 = nonDigui(n);

}

//循环方法

private static long nonDigui(int n) {

long fac = 1L;

for(int i = 1; i<=n ;i++){

fac = fac * i;

}

return fac;

}

//递归

private static long digui(int n) {

if(n == 1){

return 1;

}

return n * digui(n-1);

}

}

按照要求使用Java进行编码。

1)设计一个教师类Teacher,属性有编号(no)、姓名(name)、年龄(age)、所属学

院(seminary),为这些属性设置相应的get和set方法;

2)为Teacher类添加方法equals;(当两个教师对象的no相同时返回true)

3)为Teacher类添加方法toString,通过该方法可以返回“编号为**、姓名为**、年

龄为**的**学院老师”形式的字符串。

4)构造main方法进行测试。

Teacher.java

public class Teacher {

public static int num;

public int no;

public String name;

public int age;

public String seminary;

public Teacher() {

super();

}

public Teacher(int no, String name, int age, String seminary) { super();

this.no = no;

https://www.wendangku.net/doc/0017122100.html, = name;

this.age = age;

this.seminary = seminary;

}

public static int getNum() {

return num;

}

public static void setNum(int num) {

Teacher.num = num;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

public String getName() {

return name;

}

public void setName(String name) {

https://www.wendangku.net/doc/0017122100.html, = name;

}

public int getNo() {

return no;

}

public void setNo(int no) {

this.no = no;

}

public String getSeminary() {

return seminary;

}

public void setSeminary(String seminary) {

this.seminary = seminary;

}

public boolean equals(Object otherObject){

if (otherObject == null)

return false;

if (getClass() != otherObject.getClass())

return false;

Teacher other = (Teacher) otherObject;

return no == other.no;

}

public String toString(){

return"编号:" + getNo() + "姓名:" + getName() + "年龄:" + getAge()+ "学院老师:"+ getSeminary();

}

}

---------------------------------------

TestTeacher.java

public class TestTeacher {

public static void main(String[] args){

Teacher t1 = new Teacher(1,"zhangsan",43,"计算机");

System.out.println(t1.getNo());

System.out.println(t1.getName());

System.out.println(t1.getAge());

System.out.println(t1.getSeminary());

System.out.println("t1.toString():" + t1);

t1.setName("wangwu");

t1.setAge(50);

t1.setSeminary("国际经贸");

System.out.println(t1.getNo());

System.out.println(t1.getName());

System.out.println(t1.getAge());

System.out.println(t1.getSeminary());

Teacher.setNum(Teacher.getNum() + 1);

System.out.println(Teacher.getNum());

Teacher t2 = new Teacher(2,"lisi",44,"经管");

Teacher.setNum(Teacher.getNum() + 1);

System.out.println(Teacher.getNum());

Teacher t3 = new Teacher(3,"zhouwu",45,"信息");

Teacher.setNum(Teacher.getNum() + 1);

System.out.println(Teacher.getNum());

System.out.println(t2)

}

}

设计一个带表头的单链表(链表中的元素属于同一类型对象,但对象的类型可以随意),提供以下操作:(1)insert:在某个位置插入对象;(2)delete:在某个位置删除对象;(3)delete:删除链表中与x相同的元素;(4)size:返回当前链表中对象的个数;(5)isEmpty:判断链表是否为空;(6)traverse:遍历链表,打印出所有的元素;(7)getData:取得某个位置的对象。构造main函数进行测试。

public class Code {

private int data;

private Code next;

public int getData() {

return data;

}

public void setData(int data) {

this.data = data;

}

public Code getNext() {

return next;

}

public void setNext(Code next) {

this.next = next;

}

}

public class List {

public Code head;

List()

{

this.head=new Code();

head.setData(0);

}

List(int n)

{

this.head=new Code();

Code p,temp;

p=head;

for(int i=0;i

{

temp=new Code();

temp.setData(i+1);

p.setNext(temp);

p=p.getNext();

}

head.setData(n);

}

//判断是否为空

public void IsEmptyList()

{

if (this.head==NULL)

System.out.println("空链表");

else

System.out.println("非空"); }

Public void I

//遍历节点

public void Traverse List()

{

int Size=0;

Code temp;

temp=head;

while(temp.getNext()!=null)

{

Size++;

temp=temp.getNext();

System.out.println(temp.getData());

System.out.println(Size);

}

}

//删除节点

public void DeleteCode(int n)

{

if(n>head.getData()){

System.out.println("找不到第"+n+"个节点"); return;

}

Code temp;

temp=head;

for(int i=0;i

{

temp=temp.getNext();

}

temp.setNext(temp.getNext().getNext()); head.setData(head.getData()-1);

}

//插入节点

public void InsertCode(int n,int d)

{

if(n>head.getData()+1){

System.out.println("找不到第"+n+"个节点"); return;

}

Code p=new Code();

p.setData(d);

Code temp;

temp=head;

for(int i=0;i

{

temp=temp.getNext();

}

p.setNext(temp.getNext());

temp.setNext(p);

}

public static void main(String args[])

{

List l=new List(5);

l.rList();

l.iCode(3,8);

l.rList();

l.dCode(4);

l.rList();

}

}

实验三

1、按照要求使用Java进行编码。

1)编写一个抽象类Shape,其中有抽象方法getArea()和getPerimeter()

2)在Shape类的基础上派生出Rectangle和Circle类,二者都实现了计算面积的方法

getArea()和计算周长的方法getPerimeter();

构造main函数,生成Rectangle和Circle对象,并用Shape类型的变量调用Rectangle和Circle对象的getArea()和getPerim()方法。

Shape.Java

import java.io.*;

public class Shape {

/**

* @param args

* @author

* @date Dec 4

*/

public static void main(String[] args) throws IOException{

float radius ; // 定义圆的周长

float a,b,c; // 定义三角形的三边长

float w,h; // 定义矩形的宽和长

int select; // 功能选项序号

BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));

String str;

Graphics gp;

while(true)// 控制程序循环

{

PrintMenu();

while(true)

{

str=buf.readLine();

try {

if(str.length()>1 || str.charAt(0)>52 || str.charAt(0)<48)

{

System.out.print("输入不合法!请输入(0-3)的整数: ");

continue;

}

select=Integer.parseInt(str);

while(select > 3 || select <0)

{

System.out.print("输入不合法!请输入(0-3)的整数: ");

continue;

}

break;

}

catch(Exception ne)

{

System.out.print("输入的不是(0-3)之间的整数,请重新输入: ");

continue;

}

}

switch(select)// 处理用户要执行的功能

{

case 1: // 处理圆的情况

System.out.println("请输入圆的半径: ");

while(true)

{

try{

str=buf.readLine();

radius = Float.parseFloat(str);

//Circle circle =new Circle(radius);

if(radius<=0)

{

System.out.print("圆的半径应为大于0的实数,请重新输入圆的半径: ");

continue;

}

System.out.println("圆的半径为:" + radius);

gp = new Circle(radius);

gp.area();

gp.perimeter();

break;// 退出循环

}

catch( NumberFormatException ne)

{

System.out.println("输入的数据不合要求!\n请重新输入圆的半径: ");

continue;

}

}

break;

case 2: // 处理矩形的情况

System.out.println("请输入矩形的长和宽");

while(true)

{

try

{

System.out.print("输入矩形的长: ");

str=buf.readLine();

w=Float.parseFloat(str);

System.out.print("输入矩形的宽: ");

str=buf.readLine();

h=Float.parseFloat(str);

if((w<=0) || (h<=0))

{

System.out.print("输入的数据不符合要求!请重新输入矩形的长和宽: ");

continue;

}

// Rectangle rect=new Rectangle(w,h);

gp = new Rectangle(w,h);

System.out.println("矩形的长和宽为: " + w + "\t" + h);

gp.area();

gp.perimeter();

break; // 退出循环

}

catch(Exception ne)

{

System.out.print("输入的数据不符合要求!请重新输入矩形的长和宽: ");

}

}

break;

case 3:// 处理三角形的情况

while(true)

{

try

{

System.out.println("请输入三角形的三边长");

System.out.print("输入a : ");

str=buf.readLine();

a=Float.parseFloat(str);

System.out.print("输入b : ");

str=buf.readLine();

b=Float.parseFloat(str);

System.out.print("输入c : ");

str=buf.readLine();

c=Float.parseFloat(str);

if(!(a+b>c && a+c>b && b+c>a))// a,b,c不能构成三角形的情况,要求重新输入

{

System.out.print("您输入的三边不能构成三角形!请重新输入三角形的三边长: ");

continue;

}

//输入的三边长可以构成三角形的情况,计算并输出在不久的三角形的面积和周长

// Triangle tri = new Triangle(a,b,c);

System.out.println("三角形的三边长分别为: " + a + "\t" + b + "\t" + c);

gp = new Triangle(a,b,c);

gp.area();

gp.perimeter();

break;// 退出循环

}

catch(Exception ne) //出现异常的处理操作

{

System.out.print("输入的数据不符合要求!请重新输入三角形的三边长: ");

}

}

break;

case 0: //退出

System.out.println("感谢使用!");

System.exit(0);

}//end of switch

}//end of while 程序循环

}// end of main()

public static void PrintMenu() {

System.out.println("\t操作菜单");

System.out.println("1、求圆的面积和周长"); System.out.println("2、求矩形的面积和周长"); System.out.println("3、求三角形的面积和周长"); System.out.println("0、退出");

System.out.print("请选择要执行的操作: ");

}//end of PrintMenu()

}//end of class

Rectangle.java

package exp015S1_2;

public class Rectangle implements Graphics {

/**

* @param args

*/

float weight,height;

public Rectangle(float w,float h)

{

weight=w;

height=h;

}

//求面积

public void area()

{

System.out.println("面积为: "+ weight*height);

}

public void perimeter()

{

System.out.println("周长为: "+ 2*weight*height);

}

}

Circle.java

package exp015S1_2;

public class Circle implements Graphics{

/**

* @param args

*/

float radius; // 定义圆的周长

//Circle类的构造函数

public Circle(float r){

radius = r;

}

//求面积

public void area()

{

System.out.println("面积为: "+ Math.PI*radius*radius);

}

//求周长

public void perimeter()

{

System.out.println("周长为: "+ 2*Math.PI*radius);

}

}

Graphics.java

package exp015S1_2;

/**

* @author Administrator

*

*/

public interface Graphics {

abstract void area(); //求图形面积方法

abstract void perimeter(); //求图形周长方法

}

2、以电话为父类,移动电话和固定电话为两个子类,并使移动电话实现接口:可移动。

固定电话又有子类:无绳电话。定义接口及各类,明确他们的继承关系。

package edu.sdust.sc;

public interface Motive {

}

package edu.sdust.sc;

abstract class Phone{

abstract void call();

}

class MobilePhone extends Phone implements Motive{

public void call(){

}

}

class Telephone extends Phone{

public void call(){

}

}

class NotThreadPhone extends Telephone{

public void call(){

}

}

public class PhoneImpl {

public static void main(String[] args){

}

}

3、在实验2中所实现的Teacher类的基础上,修改Teacher类的代码,要求:由多个Teacher

对象所形成的数组可以使用Arrays.sort方法进行排序(编号由低到高排序)。

public class Teacher{

private int no;

private String name;

private int age;

private String seminary;

public Teacher(int n, String na, int a, String s){

no = n;

name = na;

age = a;

seminary = s;

}

public int getNo(){

return no;

}

public int getAge(){

return age;

}

public String getName(){

return name;

}

public String getSeminary(){

return seminary;

}

Public void setNo(int no){

this.no=no;

}

Public void setName(String name){

https://www.wendangku.net/doc/0017122100.html,=name;

}

Public void setAge(int age){

this.no=no;

}

Public void setSeminary(String seminary){

this.seminary=seminary;

}

public void set(int no, String name, int age, String seminary){

this.no=no;

https://www.wendangku.net/doc/0017122100.html,=name;

this.age=age;

this.seminary=seminary;

}

public boolean equals(Object otherObject){

if (otherObject == null)

return false;

if (getClass() != otherObject.getClass())

return false;

Teacher other = (Teacher) otherObject;

return no == other.no;

}

public String toString(){

return"编号:" + getNo() + "姓名:" + getName() + "年龄:" + getAge()+ "学院老师:"+ getSeminary();

}

public static void main(String[] args){

Teacher t1 = new Teacher(101, "Jone", 24, "信息学院");

System.out.println("t2.toString():" + t2);

t1.setNo(102);

t1.setName("Jim");

Teacher t2 = new Teacher(102, "Jone", 23, "信息学院");

System.out.println("t2.toString():" + t2);

Teacher t3 = new Teacher(103, "Tom", 24, "信息学院");

System.out.println("t3.toString():" + t3);

浙大JAVA 实验题答案05answer1

实验5 分支结构程序的设计 1.程序填空题,不要改变与输入输出有关的语句。 20004 计算旅途时间 输入2个整数time1和time2,表示火车的出发时间和到达时间,计算并输出旅途时间。 有效的时间范围是0000到2359,不需要考虑出发时间晚于到达时间的情况。 例:括号内是说明 输入 712 1411(出发时间是7:12,到达时间是14:11) 输出 The train journey time is 6 hrs 59 mins. import java.util.Scanner; public class Test20004 { public static void main(String[] args) { Scanner in=new Scanner(System.in); int time1, time2, hours, mins; time1=in.nextInt(); time2=in.nextInt(); /*------------------*/ /*计算两个时间之间的小时数和分钟数*/ hours=time2/100-time1/100; mins=time2%100-time1%100; /*当计算得到的分钟数为负数时进行调整*/ hours=mins>0?hours:hours-1; mins=mins>0?mins:mins+60; //或:if(mins<0){hours-=1;mins+=60;} System.out.println("The train journey time is "+hours+" hrs "+ mins+" mins."); } } 30001 显示两级成绩 输入一个正整数repeat (0

实验二 Java类-实验报告

南京信息工程大学实验(实习)报告 实验(实习)名称Java类实验(实习)日期 10.17 得分指导教师刘文杰院计算机与软件学院专业软件工程年级 2017级班次 1 姓名张成学号20171344024 1.实验目的: 1)熟练MyEclipse工具的使用与调试; 2)掌握Java类、方法和变量的定义和使用; 3)熟悉方法重载和覆盖、掌握this和supper关键字使用; 4)掌握4类访问控制符的使用。 2.实验内容: (1)定义一个类Circle,实现其面积计算功能getArea(); (2)编写程序,读入一个正整数并按降序显示它的所有最小因子。(教材第3章习题9)(3)利用多态性编程,实现求三角形、正方形和圆形的面积。(教材第4章习题6) 3.实验步骤 1、 public class Circle { public double radius; public Circle(double r) { radius= r; } public double getArea() { return radius*radius*Math.PI; } public static void main(String[] args) { Circle area1 = new Circle(5); System.out.println("The area is " + area1.getArea()); } }

2、 import java.util.Scanner; public class Read { public static void main(String[] args) { Scanner input =new Scanner(System.in); System.out.print("输入一个正整数:"); int n=input.nextInt(); int []a=new int[n]; int []b=new int[n]; int p,q=0,m=0; for(p=2;p<=n;p++) { while(n%p==0) { n=n/p; if(n!=1) { a[q]=p; q++; } else { a[q]=p; } } } while(q!=-1) { b[m]=a[q]; m++; q--; } for(p=0;p

JAVA第四版实验2实验报告

实验1 1.实验要求: 编写一个Java应用程序,该程序在命令行窗口输出希腊字母表。 2.实验内容: 3.实验分析: (1)将一个double型数据直接赋值给float型变量,程序编译时提示怎样的错误。 可能损失精度。 (2)在应用程序的main()方法中增加语句:float x=0.618,程序能编译通过吗? 不能通过编译,提示可能损失精度。 (3)在应用程序的main()方法中增加语句:byte b=128编译能通过吗?在应用程序的main()方法中增加语句:int z=(byte)128;程序输出变量z的值是多少? 增加byte b=128时编译不能通过,提示可能损失精度。 增加int z=(byte)128时结果如下所示。 实验2 1.实验要求: 编写一个Java应用程序,该程序在命令行窗口输出数组的引用以及元素的值。 2.实验内容:

3.实验分析: (1)在程序的【代码4】之后增加语句”a[3]=200;”,编译是否有错?运行是否有错? (2)在程序的【代码4】之前输出二维数组b的各个一维数组的长度和引用。

(3)在程序的【代码4】之后输出二维数组b的各个一维数组的长度和引用。

实验3 1.实验要求: 编写一个Java应用程序,输出数组a的全部元素,并将数组a的全部或部分元素复制到其他数组中,然后改变其他数组的元素的值,再输出数组a的全部元素。 2.实验内容: 3.实验分析:

(1)在程序的【代码4】之后增加语句:int []tom=Arrays.copyOf(c,6); System.out.println(Arrays.toString(tom)); (2)在程序的最后一个语句之后增加语句:int []jerry=Arrays.copyOf(d,1,8); System.out.println(Arrays.toString(jerry));

java实验答案解读

实验一 水仙花数: class shuixianhua {//水仙花数 public static void main(String arg[]) { int i,a,a1,b,b1,c; for(i=100;i<1000;i++) { a=i%10; a1=i/10; b=a1%10; b1=a1/10; c=b1%10; if(i==(a*a*a+b*b*b+c*c*c)) System.out.println(i); } } } 输出如下: 153 370 371 407 打印出100以内素数: public class sushu { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int i,j,k=0; for(i=2;i<100;i++){ if(i==2) System.out.println(i); i++; for(j=2;j

k=1; } if(k==1) System.out.println(i); } } 求1!+2!+ (20) public class jiecheng { public static void main(String[] args) { int i,sum=0,k; for(i=1;i<=20;i++) { k=ji(i); sum=k+sum; } System.out.print(sum); } static int ji(int n) { if(n==1) return 1; else return ji(n-1)*n; } } 习题2.6 public class Test{ public static void main(String[] args)//第19题,打出图形.菱形{ int n=3; for(int i=1;i<=n;i++) { for(int k=n-1;k>=i;k--) { System.out.print(" "); } for(int j=1;j<=2*i-1;j++)//打印* {

java实验报告实验二

实验报告 班级: 学号: 姓名:

实验二标识符、关键字和数据类型 一、实验目的 1.认识标识符、关键字、运算符及数据类型。 2.掌握标识符的书写格式、常见的基本数据类型以及运算符的使用方式。 3.了解强制数据类型转换和弱类型转换。 二、实验原理 Java关键字是电脑语言里事先定义的,有特别意义的标识符,有时又叫保留字,还有特别意义的变量。Java的关键字对Java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名、方法名、类名、包名和参数。 Java标识符给变量起上一个名字叫做变量名称,这个自定义的变量名称其实就是一个标识符,其实你自定义的类名称也是一个标识符,也就是说你自定义的名称都是标识符,它可以是类的名称、变量的名称、包的名称、方法的名称等。 1. 标识符可以由字母,数字,下划线(__),美元($)组成,但是不能包含@,%,空格等其他的特殊符号,不能以数字开头。例如 123name 就是不合法的。 2.标识符不能是Java关键字和保留字(Java预留的关键字,或者以后升级版本中有可能作为关键字),但可以包含关键字和保留字~例如:不可以使用void 作为标识符,但是Myvoid 可以。 3.标识符是严格却分大小写的,所以一定要分清alibaba和ALIbaba是两个不同的标识符哦。 4.标识符的命名最好能反应出其作用,做到见名知意。 Java运算符算术运算符、赋值运算符、比较运算符、逻辑运算符、条件运算符。

1.算术运算符:算术运算符主要用于进行基本的算术运算,如加法、减法、乘法、除法等。 2.赋值运算符:赋值运算符是指为变量或常量指定数值的符号。如可以使用“=” 将右边的表达式结果赋给左边的操作数。 3.比较运算符:比较运算符用于判断两个数据的大小,例如:大于、等于、不等于。比较的结果是一个布尔值( true 或 false )。 4.逻辑运算符:逻辑运算符主要用于进行逻辑运算。 5.条件运算符: 条件运算符( ? : )也称为“三元运算符”。 语法形式:布尔表达式?表达式1 :表达式2。 运算过程:如果布尔表达式的值为true ,则返回表达式1 的值,否则返回表达式2 的值。 Java类型转换:基本数据类型中,布尔类型boolean占有一个字节,由于其本身所代码的特殊含义,boolean类型与其他基本类型不能进行类型的转换(既不能进行自动类型的提升,也不能强制类型转换),否则,将编译出错。 1.基本数据类型中数值类型的自动类型提升。 数值类型在内存中直接存储其本身的值,对于不同的数值类型,内存中会分配相应的大小去存储。如:byte类型的变量占用8位,int类型变量占用32位等。相应的,不同的数值类型会有与其存储空间相匹配的取值范围。 2.基本数据类型中的数值类型强制转换

JAVA实验报告 (2)

附件2:实验报告封皮 2015—2016学年第1学期 Java应用程序设计课程 实验报告 学院:计算机科学技术 专业:软件工程 班级:14402 姓名:邵磊 学号:041440230 任课教师:王薇

实验日期:2015年11月02日实验题目Java简介及开发环境搭建 实验内容1.熟悉Java开发环境2.Java程序的编辑和运行 实验目的1.熟悉Java开发环境 (1)熟悉JDK工具包的下载及安装过程。 (2)掌握JAVA_HOME、CLASSPATH及Path的配置内容。(3)掌握Java程序运行原理及javac、java命令的使用。2.Java程序的编辑和运行 (1)熟悉用记事本编写Java程序的过程。 (2)了解Java程序的基本结构。 (3)掌握javac及java命令的使用。 (4)熟悉MyEclipse集成开发环境的使用。 实验步骤1.熟悉Java开发环境 (1)登录Oracle官方网站Java首页https://www.wendangku.net/doc/0017122100.html,/technetwork/java/index.html并下载最新版JDK工具包。 (2)将JDK工具包安装在D:\java\jdk1.6.0_18\文件夹中。 (3)完成JDK环境配置。创建JAVA_HOME变量并设置其值为”D:\java\jdkl1.6.0_18”,创建CLASSPATH 变量并设置其值为”D:\java\jdkl1.6.0_18\lib”文件夹中的dt.jar、tools.jar及当前目录,在Path变量原有值的基础上增加”D:\java\jdk1.6.0_18\bin”。 (4)验证JDK是否配置正确。 2.Java程序的编辑和运行 (1)创建D:\javaExecise文件夹。 (2)设置显示已知文件夹类型的扩展名。 (3)利用记事本完成Java程序的编写。 (4)利用命令编译运行Javs程序 (5)在MyEclipse中编译并运行Java程序 实验结果1.熟悉Java开发环境 单击【开始】|【运行】命令打开【运行】对话框。在该对话框的【打开】文本框中输入”cmd”命令,进入【命令提示符】窗口。在命令提示符后面输入”javac”命令。出现相关与javac命令相关的参数说明,也可以在命令提示符后面输入”java-version”,如果配置成功会显示当前JDK版本。2.Java程序的编辑和运行 在【我的电脑】的D盘创建了【javaExecise】文件夹,并且取消【隐藏已知文件夹类型的扩展名】复选框的勾选状态。在【开始】里的所有程序中选择【附件】|【记事本】命令,打开【无标题-记事本】窗口。在记事本中书写代码。写完保存代码并存在D:\javaExecise路径把文本名字改为Start.java。在【开始】|【运行】命令中,输入cmd命令进入【命令提示符】窗口完成java Start,解释执行。在MyEclipse中实现了第一个程序。 遇到1.熟悉Java开发环境 在网上搜索官方网站,因为官网都是英文版所以应用起来不是很方便,下载后把软件安装在D盘,在安装JDK时,步骤不再是一直按“下一步”,而是要在【我的电脑】里的【属性】中找到【系统属性】对话框,单击【高级】选项卡,打开【环境变量】。在里面新添加两个系统变量和更改一个

最新JAVA实验6答案

广东海洋大学学生实验报告书(学生用表) 实验名称实验六. Java的接口与实现课程名称Java程序设计与开发 技术 课程号16232204 学院(系) 信息学院专业计算机科学与技术班级计科 学生姓名学号实验地点钟海楼 04019 实验日期 2015年 10月26日 一、实验目的 (1)学习掌握Java中类怎样实现接口、接口回调技术; (2)学习掌握Java 程序中面向接口的编程思想。 二、实验任务 完成实验六指导上实验1、实验2、实验3的实验任务。 三、实验仪器设备和材料 安装有J2SE开发工具的PC机。 四、实验内容和步骤 实验1 代码如下: Estimator.java interface CompurerAverage{ public double average(double x[]); } class Gymnastics implements CompurerAverage{ public double average(double x[]){ int count=x.length; double aver=0,temp=0; for(int i=0;i

aver=aver+x[i]; } if(count>2) aver=aver/(count-2); else aver=0; return aver; } } class School implements CompurerAverage{ public double average(double[] x){ int count=x.length; double sum=0; for(int i=0;i

JAVA实验2答案

实验二. Java基本数据类型Java程序设计与开发实验名称课程名称课程号 技术与数组 计科班级专业计算机科学与技术学院(系) 信息学院 2015年钟海楼实验地点学号学生姓名实验日期月17日904019 一、实验目的 Java数据类型之间的转换;)学习掌握(1 Java 程序中数组的 使用。(2)学习 二、实验任务 3的实验任务。、实验2和实验完成实验二指导上实验 1 三、实验仪器设备和材料 PC机。安装有J2SE开发工具的 四、实验内容和步骤输出希腊字母表实验1 应用程序,该程序在命令行窗口输出希腊字母表。编写一个Java 代码如下: public class GreekAlphabet{ public static void main(String[] args) { int startPosition=0,endPosition=0; char cStart='α',cEnd='ω'; startPosition = (int)cStart; endPosition = (int)cEnd; +startPosition);表中的顺序位置:\'在Unicode 希腊字母\'α ); 希腊字母表: for(int i=startPosition; i<=endPosition; i++){ char c='\0'; c = (char)i; +c); if((i-startPosition+1)_x0010_==0) \); } \); } } 运行结果: 实验后的练习型变量,程序编译时提示怎样的错误。型数据直接赋值float(1)

将一个double float可能会有损失:5: 错误: 不兼容的类型: 从double转换到 :)(2 在应用程度的main()方法中增加语句 float x= ; 程序能编译通过吗 : 不兼容的类型从double转换到float可能会有损失不能,:3: 错误: 应用程度的main()方法中增加语句:(3) int z = (byte)128 的值是多少程序输出变量z 运行结果: 数组的引用与元素实验2 Java编写一个应用程序,该程序在命令行窗口输出数组的引用以及元素的值。代码如下: public class InputArray{ public static void main(String[] args) { int[] a={100,200,300}; 4,6,4,1}}; b[4]=a; } } 运行结果: 实验后的练习”,编译是否有错运行是否有错4之后增加语句“a[3]=200;在程序的代码)(1 编译通过。运行错误。提示 Exception in thread main 3 b的各个一维数组的长度和引用。在程序的代码4之前输出二维数组(2)增加代码: for(int i=0;i<;i++){ } 运行结果: 的各个一维数组的长度和引用。4之后输出二维数组b(3)在程序的代码增加代码同上。运行结果: 遍历与复制数组实验3 的全部或部分元素复a的全部元素,并将数组Java应用程序,输出数组a编写一个 a的全部元素。制到其他数组中,然后改变其他数组的元素的值,再输出数组代码如下:

JAVA实验报告

目录实验1 Java语言基础 实验2 数组和字符串编程 实验3 Java面向对象程序设计 实验4 Java异常处理 实验5 多线程编程 实验6 图形用户界面编程 实验7 输入与输出 实验8 网络编程 实验9 数据库编程

实验1 Java语言基础 一、实验目的和要求 1.实验目的 通过实验,掌握Java语言程序设计的基本方法。 学会Java语言中标示符的命名、运算符和表达式的应用。 熟练地掌握Java程序流程控制语句的应用。 2.实验内容 1.编写应用程序,计算100(含100)以内所有偶数的和。 2.“水仙花数”是指一个3位数,其个位、十位、百位上的数字的立方和等于该数本身,例如371=33+73+13,因此371是一个水仙花数。编写程序,求所有的水仙花数。 3.编写一个程序,求1-100间的素数。 4.有一函数: x (x<1) Y= 3x-2 (1≤x<10) 4x (x≥10) 写一程序,给定x值,输出y值。 5.使用for循环语句,编写程序输出以下图案。 ☆ ☆☆☆ ☆☆☆☆☆ ☆☆☆☆☆☆☆ ☆☆☆☆☆ ☆☆☆ ☆ 6.编写程序,输出从公元1900年到2100年所有闰年的年号,每输出5个年号换一行。判断年是否为闰年的条件是:①若年号可以被4整除,而不能被100整除,则是闰年;②若年号可以被400整除,也是闰年。 二、源代码 1.package addsum; public class addsum { public static void main(String s[])

{ int sum=0; for(int i=0;i<=100;i=i+2) sum=sum+i; System.out.println(sum); } } 2.package addsum; public class shuixianhua { public static void main(String[] args) { int i, j, k; for (i = 1; i <= 9; i++) { for (j = 0; j <= 9; j++) { for (k = 0; k <= 9; k++) { if ((i * 100 + j * 10 + k) == (i * i * i + j * j * j + k * k * k)) System.out.println(i * 100 + j * 10 + k + "=" + i + "*" + i + "*"+i+"+" + j + "*" + j+ "*" + j + "+" + k+ "+" + k+ "+" + k); } } } } } 3.package addsum; public class prime { public static void main(String[] args) { System.out.println("100内的素数为:"); loop: for (int i = 2; i < 100; i++) { for (int j = 2; j < i; j++) { if (i % j == 0) { continue loop; } } System.out.print(" " + i); } } } 4.package addsum; import java.util.Scanner; public class question4 { public static void main(String[] args) { double x,y; System.out.print("请输入x:");

java实验题及答案

面向对象程序设计(Java)实验报告 实验四数组 指导教师:赵丹 姓名:刘坤(贵州民大)学号: 专业:信息管理与信息系统日期:2015-04-22 一、实验目的: 熟悉Java数组的创建、初始化、遍历、排序等操作。 二、实验内容: 1、将一个给定的整型数组转置输出, 例如:源数组,1 2 3 4 5 6 转置之后的数组,6 5 4 3 2 1。 2、现在有如下的一个数组: int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5} ; 要求将以上数组中值为0的项去掉,将不为0的值存入一个新的数组,生成的新数组为: int newArr[]={1,3,4,5,6,6,5,4,7,6,7,5} ; 3、现在给出两个数组: 数组a:“1,7,9,11,13,15,17,19”; 数组b:“2,4,6,8,10” 两个数组合并为数组c,按升序排列。 4、自己出一个和本章有关的有趣的题目,并编程解答。 三、实验步骤、分析与结论: 1、将一个给定的整型数组转置输出, 例如:源数组,1 2 3 4 5 6 转置之后的数组,6 5 4 3 2 1。 ①java程序如下: public class ArraySwap { public static void main(String[] args){ int oldArr[]=new int[]{1,2,3,4,5,6}; System.out.println("转置前的数组为:"); printArray(oldArr); //输出一维数组 int newArr[]=new int[oldArr.length]; for(int i=0;i

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程序设计实验报告2(弹球游戏)

Java程序设计实验报告题目弹球游戏 姓名魏艺荣 学号220900428 学院数计学院 专业软件工程 年级 2009 级 指导教师张舒 2010年 4 月16 日

一、实验目的 1、掌握Swing图形用户界面编程以及事件处理等,掌握java绘图技术。 2、掌握多线程编程的基本原理,能使用Runnable、ExecutorService等接口进行 线程的创建、启动等工作。 3、培养独立查找资料,并解决问题的能力。 二、实验任务 1、设计并编程实现弹球游戏: 用户能通过GUI组件指定生成小球的数量,每个小球将从随机的位置出现,并具有随机颜色,随机速度以及随机的运动方向,小球沿初始方向匀速运动,当碰到窗口边缘时,小球将依据受力原理改变运动方向(可简化考虑,受力只改变小球的运动方向,小球仍按照初始速度匀速运动,且不考虑小球之间的碰撞)。 鼠标在界面中显示为方块状,玩家需按住鼠标来回移动以避开运动的小球及屏幕四周,如果鼠标碰到任一小球或者窗口四周,则游戏结束。 程序需提供计时功能,并最终显示玩家能坚持多少秒。 2、程序要求: (1)具备相应界面,并通过事件编程,实现相应的GUI组件功能。 (2)使用多线程技术,在程序窗口区域绘制小球,并以线程控制小球的移动,实现动画效果。 (3)实现鼠标与屏幕四周,以及与小球的碰撞检测。 三、开发工具与平台 1.开发工具:Eclipse默认是一个和Jbuilder类似的Java开发工具,但它不仅仅只是Java开发工具,只要装上相应的插件,eclipse也可作为其它语言的开发工具。如C/C++插件(CDT)。 2.开发平台:JDK1.5 四、设计思路 1.界面设计

Java程序设计实验报告2(弹球游戏)[1]1

《Java语言程序设计》课程设计 实习报告 题目: 班级: 学号: 姓名: 同组人员: 指导老师:张彬

一、实验目的 1、掌握Swing图形用户界面编程以及事件处理等,掌握java绘图技术。 2、掌握多线程编程的基本原理,能使用Runnable、ExecutorService等接口进行 线程的创建、启动等工作。 3、培养独立查找资料,并解决问题的能力。 二、实验任务 1、设计并编程实现弹球游戏: 用户能通过GUI组件指定生成小球的数量,每个小球将从随机的位置出现,并具有随机颜色,随机速度以及随机的运动方向,小球沿初始方向匀速运动,当碰到窗口边缘时,小球将依据受力原理改变运动方向(可简化考虑,受力只改变小球的运动方向,小球仍按照初始速度匀速运动,且不考虑小球之间的碰撞)。 鼠标在界面中显示为方块状,玩家需按住鼠标来回移动以避开运动的小球及屏幕四周,如果鼠标碰到任一小球或者窗口四周,则游戏结束。 程序需提供计时功能,并最终显示玩家能坚持多少秒。 2、程序要求: (1)具备相应界面,并通过事件编程,实现相应的GUI组件功能。 (2)使用多线程技术,在程序窗口区域绘制小球,并以线程控制小球的移动,实现动画效果。 (3)实现鼠标与屏幕四周,以及与小球的碰撞检测。 三、开发工具与平台 1.开发工具:Eclipse默认是一个和Jbuilder类似的Java开发工具,但它不仅仅只

是Java开发工具,只要装上相应的插件,eclipse也可作为其它语言的开发工具。如C/C++插件(CDT)。 2.开发平台:JDK1.5 四、设计思路 1.界面设计 (1)制作一个简单的面板JFrame,文件保存为bollFrame.java 其中为一public的类bollFrame,其构造方法为: bollFrame(int n){ super(); setTitle("我的弹球小游戏"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();//得到电脑屏幕大小 setSize(450,450); setLocation((dimension.width-game.getWidth())/2-250, (dimension.height-game.getHeight())/2-250);//设置面板显示基中; this.n = n; myBollPanel = new bollPanel(n);//构造一个画板; add(myBollPanel);//将画板放入JFrame createMenu();//创建菜单; setJMenuBar(bar); } (2)构造画板类,文件保存为bollPanel.java 其构造函数如下: bollPanel(int n){ this.n = n; // executorThread = Executors.newCachedThreadPool();//创建线程池; mouse = new mouseThread(mxNow,myNow,groupThread,this);//启动鼠标线程; this.setIsOver(false);//游戏开始线程条件的判断; for(int i =0 ;i

浙大JAVA实验题答案answer

实验8 Method的使用 1.程序填空题,不要改变与输入输出有关的语句。 50001 输入一个正整数repeat (0

java实验2报告答案

实验内容1 输出俄文字母表 1)实验目的 本实验的目的是让同学们掌握char类型数据和int类型数据之间的相互转换,同时了解unicode 字符表。 2)实验要求 编写一个 java应用程序,该程序在命令行窗口输出俄文字母表。 3)实验内容 【代码1】、【代码2】和【代码3】分别是什么? 【代码1】:startPosition=(int)'а'; 【代码2】:endPosition=(int)'я'; 【代码3】:c=(char)i; 将一个float类型数据直接赋值给int类型变量,程序编译时提示怎样的错误?为什么? 提示“可能损失精度”,因为float是单精度浮点型,取值范围远大于int整型变量,如果用int输出会损失小数点后边的数字。 语句byte x=128;能通过编译吗?为什么? 不能。因为byte类型变量的取值范围是-128到127,输入的128超过了范围。 int x=(byte)128;程序输出变量x的值是多少?为什么?

输出x=-128。因为byte类型变量的取值范围是-128到127,输入x=128超出了byte类型变量的范围。 实验内容2 从键盘输入数据 1)实验目的 本实验的目的是让同学们掌握从键盘输入基本类型的数据。 2)实验要求 编写一个java 应用程序,用户从键盘输入一个浮点数据,程序将输出这个数的平方和三次方。 3)实验内容 【代码1】、【代码2】和【代码3】分别是什么? 【代码1】:a=reader.nextFloat(); 【代码2】:System.out.println("b="+b); 【代码3】:System.out.println("c="+c); 程序运行时,用户从键盘输入abc,程序提示怎样的错误?为什么? 输入的abc是一个字符串,不是浮点型变量。 扩展实验内容数组 1)实验目的 本实验的目的是让同学们掌握一维数组的深拷贝与二维数组的创建与应用。 2)实验要求 ●编写一个java 应用程序,调用System类的arraycopy()方法完成数组的快速复制。 ●编写一个java应用程序,输出杨辉三角形的前10行。 3)【选作题目的】程序源码 ●编写一个java 应用程序,调用System类的arraycopy()方法完成数组的快速复制:

JAVA实验报告

学生实验报告册 (理工类) 课程名称:面向对象程序设计专业班级:16计算机科学与技术(专转本)学生学号:22 学生姓名:张义丹 所属院部:计算机工程指导教师:刘晶 20 16 ——20 17 学年第2 学期 金陵科技学院教务处制

实验报告书写要求 实验报告上交电子稿,标题采用四号黑体,正文采用小四号宋体,单倍行距。 实验报告书写说明 实验报告中实验目的和要求、实验仪器和设备、实验内容与过程、实验结果与分析这四项内容为必需项。教师可根据学科特点和实验具体要求增加项目。 填写注意事项 (1)细致观察,及时、准确、如实记录。 (2)准确说明,层次清晰。 (3)尽量采用专用术语来说明事物。 (4)外文、符号、公式要准确,应使用统一规定的名词和符号。 (5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。 实验报告批改说明 实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用五级记分制或百分制,按《金陵科技学院课堂教学实施细则》中作业批阅成绩评定要求执行。

实验项目名称:Java编程基础实验学时: 6 同组学生姓名:————实验地点:工科楼A101 实验日期:实验成绩: 批改教师:刘晶批改时间:

实验1 Java编程基础 一、实验目的和要求 (1)熟练掌握及编写调试Java应用程序及Java小程序的方法; (2)熟练掌握Java应用程序的结构; (3)了解Java语言的特点,基本语句、运算符及表达式的使用方法; (4)熟练掌握常见数据类型的使用; (5)熟练掌握if-else、switch、while、do-while、for、continue、break、return语句的使用方法; (6)熟练掌握数组和字符串的使用; (7)调试程序要记录调试过程中出现的问题及解决办法; (8)编写程序要规范、正确,上机调试过程和结果要有记录,不断积累编程及调试经验; (9)做完实验后给出本实验的实验报告。 二、实验仪器和设备 奔腾以上计算机,Windows 操作系统,装有和软件。 三、实验过程 (1)分别使用JDK命令行和Eclipse编译运行Java应用程序;适当添加注释信息,通过javadoc生成注释文档;为主方法传递参数“Hello world”字符串,并输出,记录操作过程。 public class Hello { public static void main(String args[]) { "Hello!"); } } (2)分别使用JDK命令行和Eclipse编译Java Applet,并建立HTML文档运行该Applet。 压缩生成".jar"文件。记录操作过程。 import .*; import class HelloApplet extends Applet { public void paint(Graphics g) { ; ("Hello!",20,20); } }

JAVA实验6答案

GDOU-B-11-112 广东海洋大学学生实验报告书(学生用表) 实验名称 实验六.Java 的接口与实现 课程名称JaVa 程序设计与开发 课程号16232204 技术 实验地点钟海楼实验日期 2015年 04019 10 月 26 日 、实验目的 (1) 学习掌握Java 中类怎样实现接口、接口回调技术; (2) 学习掌握Java 程序中面向接口的编程思想。 二、实验任务 完成实验六指导上实验1、实验2、实验3的实验任务。 三、实验仪器设备和材料 安装有J2SE 开发工具的PC 机。 四、实验内容和步骤 实验1 代码如下: Estimator.java in terface Compu rerAverage{ p ublic double average(double x[]); } class Gymn astics imp leme nts Compu rerAverage{ p ublic double average(double x[]){ int coun t=x.le ngth; double aver=0,te mp=0; for(i nt i=0;i

aver=aver+x[i]; } if(cou nt>2) aver=aver/(co un t-2); else aver=0; retur n aver; } } class School impi eme nts Compu rerAverage{ p ublic double average(double[] x){ int coun t=x.le ngth; double sum=0; for(i nt i=0;i

相关文档