当前位置:文档之家› JAVA 实验二报告

JAVA 实验二报告

JAVA 实验二报告
JAVA 实验二报告

§2.2 Java程序设计结构

§2.1.1实验目的、内容及性质

1、掌握Java语言基础知识如变量、编程基本结构。

2、数组的使用

实验性质:验证、必做

实验学时:4学时

§2.2.2问题及思考

1、字符串和字符如何区别?常见的转义字符有那些?

2、变量按作用域可以分为那几类?

3、说明java 语言中的数据类型以及基本数据类型的默认值。类型转换规则。

4、数组如何定义,如何初始化?基本数组的一些算法?如查找、排序等

§2.2.3实验指导

1、选择结构示例

(1)if语句

2、循环结构示例(1)for语句

§2.2.4实践编程

编写以下程序

1、显示星期几对应的英文字符串。

用week表示星期几,可用switch语句将week转换成对应英文字符串,week为整型数据由用户输入。

用户输入参考:

import java.util.Scanner;

public class StandardIO{

public static void main(String[] args) {

Scanner scan=new Scanner(System.in);

String s=scan.next(); //输入一个字符串

int x=scan.nextInt();//输入一个整形数字

double d=scan.nextDouble();//输入一个double

}

}

程序:

import java.util.Scanner;

public class Word1 {

public static void main(String[] args) {

Scanner scan =new Scanner(System.in);

System.out.println("请输入一个数字:");

int week=scan.nextInt();//输入一个整形数字

switch (week){

case 1: System.out.println("Monday");break;

case 2: System.out.println("Tuesday");break;

case 3: System.out.println("Wedensday");break;

case 4: System.out.println("Thurday");break;

case 5: System.out.println("Friday");break;

case 6: System.out.println("Saturday");break;

case 7: System.out.println("Sunday");break;

}

scan.close();

}

截图:

2、计算输出Fibonacci前20序列。用数组编程

Fibonacci序列是指首两项为0、1,以后各项的值是其前两项之和:0,1,1,2,3,5,8,…

程序运行结果:

0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181

程序:

public class Word1 {

public static void main(String[] args) {

int a,b,c;

a=0;

b=1;

System.out.printf("%6d",a);

System.out.printf("%6d",b);

for(int s=1;s<19;s++){

c=a+b;

System.out.printf("%6d",c);

if(s==3 || s==8 || s==13 )

System.out.println(" ");

a=b;

b=c;

}

}

截图:

3、求一组数中的最大与最小值。

用一维数组来存放以Math.random ()方法产生的一组随机数。

程序运行结果:

table:84 40 16 3 10 49 28 76 94 70

Max=94

Min=3

4、利用随机数产生一个10行,10列的整型矩阵。完成如下操作:

a)输出矩阵中元素的最大值及最大值所在的位置(行、列值)

b)输出该矩阵的转置矩阵。

import java.util.Scanner;

public class Word1 {

public static int[][] Def(int a,int b ){

int[][] x=new int[a][b];

for(int i=0;i

for(int j=0;j

x[i][j]=(int) ( 100*Math.random());

}

}

return x;

}

public static void Pri(int x[][]){

for(int i=0;i

for(int j=0;j

System.out.printf("%5d",x[i][j]);

}

System.out.println("");

}

}

public static void Com(int x[][]){

int max=x[0][0],min=x[0][0];

int a=0,b=0,c=0,d=0;

for(int i=0;i

for(int j=0;j

if(max

max=x[i][j];

a=i;

b=j;

}

if(min>x[i][j]){

min=x[i][j];

c=i;

d=j;

}

}

}

System.out.println("max="+max+" 位置为"+a+"行"+b+"列");

System.out.println("min="+min+" 位置为"+c+"行"+d+"列");

}

public static int[][] Z (int x[][]){

int[][] y=new int[x.length][];

for(int i=0;i

y[i]=new int[x[i].length];

}

for(int i=0;i

for(int j=0;j

y[j][i]=x[i][j];

}

return(y);

}

public static void main(String[] args) {

System.out.println("请输入数组的长宽");

Scanner scan =new Scanner(System.in);

int a=scan.nextInt();

int b=scan.nextInt();

int[][] x=new int[a][b];

x=Def(a,b);

Pri(x);

Com(x);

int[][] y=new int[a][b];

y=Z(x);

Pri(y);

scan.close();

}

}

5、判断回文字符串。

回文是一种“从前向后读”和“从后向前读”都相同的字符串,如“rotor”是一个回文字符串。程序中使用了两种算法来判断回文字符串。

算法一:分别从前向后和从后向前依次获得源串str的一个字符ch1和ch2,

比较ch1和ch2,如果不相等,则str肯定不是回文字符串,yes=false,立即退

出循环;否则,继续比较,直到str的所有字符全部比较完,yes的值仍为true,才能肯定str是回文字符串。

算法二:将源串str反转成temp串,再比较两串,如果相等则是回文字符串。程序中比较两个字符时,使用关系运算符= =;而比较两个字符串,则需使

用equals()方法。

参考:String s=”Hello”;

for(int i=0;i

char c=s.charAt(i);//表示取字符串中第几个字符

import java.util.Scanner;

public class Word1 {

public static void main(String[] args) {

System.out.println("请输入一段字符串");

Scanner scan =new Scanner(System.in);

String s=scan.next();

int m=s.length();

for(int i=0;i

{

char a=s.charAt(i);

char b=s.charAt(m-1);

if(a == b)

{

m=m-1;

if(i==m-1 || i+1==m-1)

{

System.out.println("Ture");

break;

}

continue;

}

else

System.out.println("False");

break;

}

scan.close();

}

}

6、将一个5*5的矩阵中最大的元素放在中心,四个角分别放四个最小的元素(顺序从左到右,从上到下顺序依次从小到大存放),写一个函数实现之。用main函数调用。

例如原来矩阵:

35 34 33 32 31

30 29 28 27 26

25 24 23 22 21

20 19 18 17 16

15 14 13 12 11

改变后的矩阵

11 34 33 32 12

30 29 28 27 26

25 24 35 22 21

20 19 18 17 16

13 23 15 31 14

程序:

public class Word1 {

public static int[][] Def(int a,int b){

int[][] x=new int[a][b];

for(int i=0;i<5;i++){

for(int j=0;j<5;j++){

x[i][j]=(int) (100*Math.random());

}

}

return x;

}

public static void Pri(int x [][] ){

for(int i=0;i<5;i++){

for(int j=0;j<5;j++){

System.out.printf("%3d",x[i][j]);

}

System.out.println("");

}

}

public static void Max(int x[][]){

int max=x[2][2],c;

for(int i=0;i<5;i++){

for(int j=0;j<5;j++){

if(max

{

max=x[i][j];

c=x[i][j];

x[2][2]=x[i][j];

x[i][j]=c;

}

}

}

}

public static void Min(int x[][]){

int a=x[0][0],c;

for(int i=0;i<5;i++){

for(int j=0;j<5;j++){

if(a>x[i][j]){

a=x[i][j];

c=x[i][j];

x[i][j]=x[0][0];

x[0][0]=c;

}

else

continue;

}

}

int b=x[0][4];

for(int i=0;i<5;i++){

for(int j=0;j<5;j++){

if(i==0 && j==0)

continue;

if(b>x[i][j]){

b=x[i][j];

c=x[i][j];

x[i][j]=x[0][4];

x[0][4]=c;

}

else

continue;

}

}

int e=x[4][0];

for(int i=0;i<5;i++){

for(int j=0;j<5;j++){

if((i==0 && j==0 )||( i==0 && j==4))

continue;

if(e>x[i][j]){

e=x[i][j];

c=x[i][j];

x[i][j]=x[4][0];

x[4][0]=c;

}

else

continue;

}

}

int d=x[4][4];

for(int i=0;i<5;i++){

for(int j=0;j<5;j++){

if((i==0 && j==0 )||( i==0 && j==4)||(i==4 && j==0))

continue;

if(d>x[i][j]){

d=x[i][j];

c=x[i][j];

x[i][j]=x[4][4];

x[4][4]=c;

}

else

continue;

}

}

}

public static void main(String[] args) {

int[][] x=new int[5][5];

x=Def(5,5);

Pri(x);

Max(x);

Min(x);

System.out.println("变换后数组为:");

Pri(x);

}

}

7、(选做)编程Java程序实现以下生活中的问题。

有10位青年歌手参加歌曲大奖赛,有10个评委对她们进行打分,试编程求这位选手的平均得分(去掉一个最高分和一个最低分)。

import java.util.Scanner;

public class Word1 {

public static int[] Def(int a){

int[] x=new int[a];

Scanner scan=new Scanner(System.in);

for(int i=0;i

{

x[i]=(int) scan.nextInt();

}

scan.close();

return x;

}

public static void Pri(int x[])

{

for(int i=0;i

{

System.out.printf("%4d",x[i]);

}

System.out.println();

}

public static int[] Max(int x[]){

int max=x[9],min=x[8],c;

for(int i=0;i

if(max

max=x[i];

c=x[i];

x[i]=x[9];

x[9]=c;

}

if(min>x[i]){

min=x[i];

c=x[i];

x[i]=x[8];

x[8]=c;

}

}

return x;

}

public static Double Sum(int x[]){

double sum=0.0;

double Re=0.0;

for(int i=0;i

sum+=x[i];

}

Re=sum/8;

return Re;

}

public static void main(String[] args) { int[] x=new int[10];

Double Re;

System.out.println("请输入分数");

x=Def(10);

Pri(x);

x=Max(x);

Pri(x);

Re=Sum(x);

System.out.println("去掉一个最大值,去掉一个最低分,选手最终得分为:"+Re);

}

}

§2.2.4补充实验

(上交实验时可以不做这些题目,目的为有兴趣同学多做些)

1、编写一个人与计算机对拿火柴的游戏程序。利用随机函数Math.random()产生火柴数量(20~50),每次最多拿3根,拿到最后一根为胜者。

要求:游戏过程要显示火柴总数,选择谁先拿;每步要显示剩余火柴数量,以及计算机拿的数量,并提示用户输入拿多少;结束时显示谁是胜者。

【解题算法提示】

(1) 产生火柴总数(amount);

(2) 决定随先拿(whoplay:1--人, 2--计算机);

(3) 定义一个变量保存剩余火柴数量(remain)=amount ;

(4) 当remain>0 循环

4.1 根据whoplay的值决定是计算机拿x根还是提示人拿x根;计算机拿时最好

带有智能,人拿时要限制输入数量。

4.2 修改 whoplay的值;

4.3 修改remain的值;

(5) 根据whoplay的值决定胜者

import java.util.Scanner;

public class Word1 {

public static void main(String[] args) {

int sum=0;

int x;

while(sum>50 || sum<20)

sum=(int) (50*Math.random());

System.out.println("火柴总数为"+sum);

System.out.println("请输入数字选择先后手:1、后手;2、先手");

Scanner scan=new Scanner(System.in);

x=scan.nextInt();

if(x==1)

Rbort(sum);

else

Human(sum);

}

private static void Rbort(int sum) {

int x=0;

if(sum>10){

x=(int) (4*Math.random());

if(x==0)

x++;

}

else{

switch(sum){

case 10:

case 9 :x=3;break;

case 8 :x=2;break;

case 7 :x=3;break;

case 6 :x=1;break;

case 5 :x=1;break;

case 4 :x=1;break;

case 3 :x=3;break;

case 2 :x=2;break;

case 1 :x=1;break;

}

}

sum-=x;

System.out.println("电脑拿了"+x+",现在火柴总数为"+sum);

Word1.Human(sum);

}

private static void Human(int sum) {

int H=0;

System.out.println("请输入要拿火柴的数量:(最多拿三根)");

Scanner scan=new Scanner(System.in);

H=scan.nextInt();

if(H>3||H<0)

for(;H>3||H<0;){

System.out.println("输入错误,请重试:");

H=scan.nextInt();

}

sum-=H;

System.out.println("现在火柴总数为"+sum);

if(sum==0)

System.out.println("恭喜你,你赢了");

if(sum>3 && sum!=0)

Word1.Rbort(sum);

else

System.out.println("很遗憾,你输了.");

}

}

2、某地刑侦大队对涉及六个嫌疑人的一桩疑案进行分析: A、B至少有一人作案; A、E、F 三人中至少有两人参与作案; A、D不可能是同案犯; B、C或同时作案,或与本案无关; C、D中有且仅有一人作案;如果D没有参与作案,则E也不可能参与作案。试编一程序,将作案人找出来。public class Word2 {

public static void main(String args[]){

char[] p=new char[6];

p[0]='A';

p[1]='B';

p[2]='C';

p[3]='D';

p[4]='E';

p[5]='F';

int[] x=new int[6];

for(x[0]=0;x[0]<2;x[0]++){

for(x[1]=0;x[1]<2;x[1]++){

for(x[2]=0;x[2]<2;x[2]++){

for(x[3]=0;x[3]<2;x[3]++){

for(x[4]=0;x[4]<2;x[4]++){

for(x[5]=0;x[5]<2;x[5]++){

if(x[0]+x[1]>=1){

if(x[0]+x[4]+x[5]>=2){

if(x[0]+x[3]!=2){

if(x[1]+x[2]==2 ||x[1]+x[2]==0){

if(x[2]+x[3]==1){

if(x[3] == 0 && x[4] == 0){

for(int index = 0; index <6; index++) {

if (x[index] == 1)

System.out.print(" "+p[index]);

}

}

}

}

}

}

}

}

}

}

}

}

}

}

}

3、利用随机函数产生20个学生的英语成绩存入一个数组中。

●输出数组所有元素,每行输出3个数;

●求最高分、最低分;

●求平均成绩。

public class Word3 {

public static void main(String args[]){

int[] x=new int[20];

x=Re(20);

int max,min;

double sum;

max=Max(x);

min=Min(x);

sum=Sum(x);

Pri(x);

System.out.println("最大值为"+max);

System.out.println("最小值为"+min);

System.out.println("平均值为"+sum);

}

public static void Pri(int[] x){

for(int i=0;i

System.out.printf("%4d",x[i]);

if((i+1)%3==0)

System.out.println("");

}

System.out.println("");

}

public static int[] Re(int a){

int[] x=new int[a];

for(int i=0;i

x[i]=(int) (100*Math.random());

}

return x;

}

public static int Max(int[] x ){

int max=x[0];

for(int i=0;i

if(max

max=x[i];

}

return max;

}

public static int Min(int[] x ){

int min=x[0];

for(int i=0;i

if(min>x[i])

min=x[i];

}

return min;

}

public static double Sum(int[] x ){

double sum=0.0;

for(int i=0;i

sum+=x[i];

}

sum=sum/x.length;

return sum;

}

}

4、利用随机函数产生50~500之间的整数给一个6*6的矩阵赋值.

? ●求第3行的元素之和;

? ●求第2列的最小元素;

? ●求主对角线上最大元素;

? ●求数组所有元素之和。

public class Word3 {

public static void main(String args[]){

int[][] x=new int[6][6];

x=Re(6,6);

int max,min,sum1;

double sum;

sum=Sum(x,2);

max=Max(x);

min=Min(x,1);

sum1=Sum1(x);

Pri(x);

System.out.println("主对角线上的最大值为"+max);

System.out.println("第二列的最小值为"+min);

System.out.println("第三行之和值为"+sum);

System.out.println("所有元素之和为"+sum1);

}

public static void Pri(int[][] x){

for(int i=0;i

for(int j=0;j

System.out.printf("%4d",x[i][j]);

}

System.out.println("");

}

}

public static int[][] Re(int a,int b){

int[][] x=new int[a][b];

for(int i=0;i

for(int j=0;j

x[i][j]=(int) (500*Math.random());

while(x[i][j]<50)

x[i][j]=(int) (500*Math.random());

}

}

return x;

}

public static int Max(int[][] x ){

int max=x[0][0];

int j=0;

for(int i=0;i

if(max

max=x[i][j];

j++;

}

return max;

}

public static int Min(int[][] x,int j ){ int min=x[0][j];

for(int i=0;i

if(min>x[i][j])

min=x[i][j];

}

return min;

}

public static int Sum(int[][] x ,int i){ int sum=0;

for(int j=0;j

sum+=x[i][j];

}

return sum;

}

public static int Sum1(int[][] x){

int sum=0;

for(int i=0;i

for(int j=0;j

sum+=x[i][j];

}

}

return sum;

}

}

5、产生20个范围为0~50之间的不重复随机整数存入到一个数组中,将数组中元素按由小到大输出,并求数组所有元素的平均值。

【提示】每产生一个整数要跟前面已产生的数进行比较,如果已存在,则不算,要重新产生,可以用一个循环来控制产生一个新数,只有产生的数未出现过,才能出循环。

public class Word3 {

static int[] x=new int[20];

static int[] z=new int[20];

public static void main(String args[]){

x=Re(20);

int sum1;

sum1=Sum1(x);

Pri(x);

max(x);

Pri(x);

System.out.println("平均值"+sum1);

}

public static void max(int[] x){

int min,c;

for(int i=0;i

实验二 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实验报告一

Java语言程序设计实验报告一 班级:姓名:学号: 一、实验教学目的与基本要求 Java程序设计的实验是Java程序设计课程重要的实践教学环节。实验的目的不仅仅是验证理论知识,更重要的是通过上机加强学生的动手能力,掌握常用Java开发环境的使用方法,培养学生分析问题、解决问题、应用知识的能力和创新精神。充分放手让学生自行设计、自主调试,真正培养学生的实践动手能力,全面提高学生的综合素质。 本课程是一门程序设计语言课程,通过本课程的学习,学生能够掌握Java 语言程序的基本特点、基本编程方法和基本开发技巧,培养学生阅读、分析、设计和调试Java语言的能力,并具备一定的面向对象程序设计思想。 本课程的主要任务是在已学习的编程语言基础上,讲述Java语言的数据结构和语法规则;基本控制结构和编程技巧;Java语言面向对象的特点、编程方法和程序设计思路;Java语言的GUI程序和文件及I/O流的编程方法;能够正确配置Java开发环境,并使用相关的编辑、编译、调试、运行命令。 (1)掌握Java语言的编程技巧,能够独立进行面向对象的开发能力。 (2)具有根据编程需求独立查询Java类库文档及相关资料,完成系统的能力。 (3)具有分析、寻找和排除程序中常见问题的能力。 二、实验内容与收获 (1)Java的安装与配置。熟悉语言环境及简单程序设计的使用练习,正确配置Java 开发环境(Eclipse 集成开发环境的安装、配置与使用) a)安装JDK Sun公司为所有的Java程序员提供了一套免费的Java开发和运行环境。 可以通过IE或Netscape浏览器浏览网址:https://www.doczj.com/doc/b33214318.html,/j2se,根据提示

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第二次实验报告

java实验报告 实验题目运用JavaFx实现时钟动画学生姓名 指导教师 学院 专业班级 完成时间2014年12

目录 一、实验目的 (3) 二、实验开发环境和工具 (3) 三、实验内容 (3) 四.实际简要描述: (3) 五.程序清单 (4) 六.结果分析 (10) 七.调试报告 (11) 八.实验心得 (11)

一、实验目的 1.了解和掌握JavaFx动画基本概念和相关用法 二、实验开发环境和工具 可以在Linux或者Windows操作系统上搭建开发环境,可使用集成开发环境Eclipse,使用Java语言,工具包使用JDK1.8。 三、实验内容 基于JavaFx画出如下所示可动态变化的时钟。要求按‘start’按钮可启动时钟,按‘stop’按钮可让时钟暂停。时钟初始时显示当前时间并开始动态变化。 四.实际简要描述: 1.新建一个动态时针 EventHandlereventHandler = e -> { clock.setCurrentTime(); // 设置时钟时间 }; 2.建立一个动画使时钟走起来 Timeline animation = new Timeline( newKeyFrame(https://www.doczj.com/doc/b33214318.html,lis(1000), eventHandler)); animation.setCycleCount(Timeline.INDEFINITE); animation.play(); // 开始动画

3.建立按钮 HBoxhbox=new HBox();//新建HBOX布局 hbox.setSpacing(20); hbox.setLayoutX(310); hbox.setLayoutY(520); Start = new Button("Start");//建立start按钮 Start.setPrefSize(80, 40); Stop = new Button("Stop");//建立stop按钮 Stop.setPrefSize(80, 40); hbox.getChildren().addAll(Start,Stop);//将按钮加入HBOX getChildren().add(hbox); 五.程序清单 importjavafx.application.Application; importjava.util.Calendar; importjava.util.GregorianCalendar; https://www.doczj.com/doc/b33214318.html,yout.Pane; importjavafx.scene.paint.Color; importjavafx.scene.shape.Circle; importjavafx.scene.shape.Line; importjavafx.scene.text.Text; importjavafx.application.Application; importjavafx.stage.Stage; importjavafx.animation.KeyFrame; importjavafx.animation.Timeline; importjavafx.event.ActionEvent;

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

实验项目名称:继承和多态 (所属课程:Java语言程序设计) 院系:计算机科学与信息工程专业班级:12级物联网工程姓名:张懿 学号:201203040042 实验地点:A-06 411 指导老师:张阳 本实验项目成绩:教师签字:日期: 1.实验目的 (1)掌握类的继承机制。 (2)熟悉类中成员变量和方法的访问控制。 (3)熟悉方法或构造方法多态性。 2.实验内容 (1)模拟编写程序,理解类的继承、多态、继承和多态规则。 (2)独立编程,实现类的继承和多态。 3.实验作业 设计一个类Shape(图形)包含求面积和周长的area()方法和perimeter()方法以及设置颜色的方法SetColor(),并利用Java多态技术设计其子类Circle (圆形)类、Rectangle(矩形)类和Triangle(三角形)类,并分别实现相应的求面积和求周长的方法。每个类都要覆盖toString方法。 海伦公式:三角形的面积等于s(s-a)(s-b)(s-c)的开方,其中s=(a+b+c)/2 4.实验程序 import java.util.Scanner; public class TEST { public static void main(String[] args) { float radius; float chang,kuan; float a,b,c; Scanner input = new Scanner(System.in);

System.out.print("请输入圆的半径:"); radius = input.nextFloat(); Circle circle = new Circle(radius); System.out.println("圆的面积为:"+circle.area()+" 圆的周长为:"+circle.perimeter()+"\n"+circle.toString()); System.out.print("请输入矩形的长:"); chang = input.nextFloat(); System.out.print("请输入矩形的宽:"); kuan = input.nextFloat(); Rectangle rectangle = new Rectangle(chang,kuan); System.out.println("矩形的面积为:"+rectangle.area()+" 矩形圆的周长为:"+rectangle.perimeter()+"\n"+rectangle.toString()); System.out.print("请输入三角形的第一条边:"); a = input.nextFloat(); System.out.print("请输入三角形的第二条边:");

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.doczj.com/doc/b33214318.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实验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 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实验报告完整版

实验报告 (计算机与信息工程学院实验中心) 学期: 2014-2015 课程名称: 《Java程序设计实验》 班级: 信息1202 姓名: 方逸梅 学号: 1212100231 指导老师: 费玉莲 《Java程序设计》 独立实验教学安排 一、实验的教学方式、安排及实验环境 (一)教学方式 对照本课程的实验教材,实验一至实验十一,由教师提示实验原理、方法、步骤等内容,在教师的指导下,学生独立完成程序设计及调试工作。实验十二的内容由学生自行设计完成。 (二)教学安排 学时数:30课时 学时安排:每次实验3学时,从学期第五周开始,共十次上机实验。 (三)实验环境 实验环境为JDK 1、6。

(四)具体安排 地点:信息大楼实验室。 辅导:每个班次一名辅导老师,原则上由任课老师担任。 登记:实验完成,由辅导老师登记实验纪录。 学生:实验做完,完成实验报告内容,并在学期末上交实验册。 老师:批改实验,成绩与平时成绩一起占期末的30%。 二、实验的具体内容与要求 见实验报告。

浙江工商大学 计算机与信息工程学院实验报告(1)日期:地点:成绩: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━实验目的、实验原理与内容: 一、实验目的:熟悉Java开发环境及简单程序Java设计。 二、实验原理:SDK 的下载与安装,设置环境变量,安装java 虚拟机,使用Eclipse,编译Java 源程序,运行Java 程序。 三、实验内容及要求: 1. 下载、安装并设置Java SDK 软件包。 2. 熟悉Eclipse编辑软件。 3.掌握运行Java 程序的步骤。 4.分别编写Application与Applet程序,显示字符串”Hello Java!欢迎使用!”。 要求:请同学把预备知识、步骤、程序框图、调试好的程序及存在的问题写在下面(不够可以附页)。 程序一 public class hello { public static void main(String[] args) { for(int i=0;i<=4;i++) { System、out、println("Hello java! 欢迎使用!"); } } } 结果示意图1

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实验报告

实验报告 实验名称工资管理程序第 2 次实验实验日期 2009- - 指导教师 班级 04软件工程学号姓名成绩 一、实验目的 1、掌握类的定义、域的定义及方法的定义。 2、掌握对象的定义与使用 3、掌握抽象类的用法 二、实验内容 1、建立一个抽象类Employee类 至少包括成员变量: 名、姓、年龄、性别 至少包括构造函数: 名和姓作为参数 至少包括方法: 取名称 至少包括抽象方法: 取收入earnings() 重写Object的toString()方法,返回Employee类的描述信息如名称信息 2、建立老板类Boss类继承Employee类 至少构造函数以名和姓及周工资作为参数 老板的工资是周工资 3、建立销售人员类 销售人员的收入= 销售量* 单价 要求:每个销售人员对象都能知道当前共有多少个销售人员 ... ... 4、在main函数中,分别创建老板对象、销售人员对象 三、实验步骤 3.1 进入eclips,创建一个名为employ的工程,新建一个抽象类Employee类 类中的成员变量有private String firstname; private String lastname; private String sex; private String age; 构造函数为employee(){} //无参数的构造函数 employee(String fn,String ln) //以名和姓为参数的构造函数 { this.firstname=fn; https://www.doczj.com/doc/b33214318.html,stname=ln; } employee(String fn,String ln,String s,String a)//参数完整的构造函数 { this(fn,ln);

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 皮常德2-7章答案

二 1.角谷猜想:任何一个正整数n,如果它是偶数则除以二,如果是奇数则乘 以3再加上1,这样得到一个新的整数,如此继续进行上述处理,则最后得到的数一定是1,编写应用程序和小程序分别验证:3~10000之间任何正整数都满足上述规则。 2.编写一个程序模拟同时掷2个骰子。程序要用Math.random( )模拟产生 第一个骰子,然后再产生第二个骰子,将2个结果相加。和等于7的可能性最大,等于2和12的可能性最小。 下图表示了出现36种情况组合。程序模拟掷3600次骰子,判断求和结果是否合理,共有6种情况的和是7,故在3600次掷骰子的结果中应当有1/6的可能性是7。 123456 1234567 2345678 3456789 45678910 567891011 6789101112 一、实验步骤: 1. 应用程序: package cp2; public class a4 { public static void main(String[] args) { boolean a=true; int j; for(int i=3;i<=10000;i++){ for(j=i;j>1;){ if(j%2==0){ j=j/2; } else{ j=j*3+1; } } if(j!=1){ a=false;break; } } System.out.println(a); }

} 运行结果:true 小程序: package cp2; import java.awt.*; import java.applet.*; public class a5 extends Applet{ Label lab1; TextField input1; int num1=1; public void init(){ lab1=new Label("任意输入3~10000的一个整数"); input1=new TextField(10); add(lab1); add(input1); } public boolean action(Event e,Object o){ num1=Integer.parseInt(input1.getText()); showStatus(""); input1.setText(""); repaint(); showStatus("这个数是"+num1); return true; } public void paint(Graphics g){ int xpos=50,ypos=50,i=0; int xpos1=xpos; while(num1!=1) { if(num1%2==0){ num1=num1/2; g.drawString(Integer.toString(num1), xpos, ypos); } else{ num1=num1*3+1;

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