Java实验指导书(实验二)

更新时间:2024-04-19 05:39:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验二 基本数据类型与数组

一、实验目的

1、 掌握Java语言中的基本数据类型的基本概念及使用方法; 2、 掌握Java语言中数组的基本概念及使用方法;

3、 掌握Java语言中运算符以及基本控制语句的使用方法; 4、 掌握Java语言中的基本输入与输出方法; 5、 理解程序设计中健壮性的重要性。

二、实验要求

1、 根据实验步骤中提出的要求,使用记事本编写相应的Java程序;

2、 使用JDK中提供的javac以及java命令编译、运行自己所编写的Java程序; 3、 根据编译与运行过程中所获得的错误信息修改程序直至获得正确的结果; 4、 记录实验中遇到的各类问题并以及解决办法。

三、实验步骤

1、 输入与输出

(1) 采用记事本编写下面所给的Java程序并保存为InputTest.java;

import java.util.*; class InputTest { public static void main(String args[]){ Scanner reader=new Scanner(System.in); int n; n=reader.nextInt(); System.out.println(\ } }

(2) 如果在程序运行时输入1k,将会出现什么错误?是什么原因造成的? (3) 请在程序的某处增加以下代码:

while (!reader.hasNextInt()){

reader.nextLine(); System.out.println(\输入格式错误,请重新输入:\

}

(4) 以上的程序有什么含义与作用?

(5) 什么是健壮性?添加代码后的程序与之前的程序对比健壮性如何?

2、 除法运算;

(1) 采用记事本编写下面所给的Java程序并保存为Division.java;

import java.util.*;

class Division{ public static void main(String args[]){ Scanner reader=new Scanner(System.in); int a,b; double q; System.out.println(\请输入被除数:\ if (reader.hasNextInt()) a=reader.nextInt(); System.out.println(\请输入除数:\ if (reader.hasNextInt()) b=reader.nextInt(); q=a/b; System.out.printf(\除法算式及运算结果:\\nd / %d = .2f\ } }

(2) 修改Division.java直至程序编译正确为止;

(3) 该程序运行后如果输入的除数为0,则将出错,请修改程序直至程序运行

正确为止;

(4) 该程序的结果始终为整数,请修改该程序使其输出正确的结果。 3、 数组

(1) 在ArrayTest.java中添加以下代码;

class ArrayTest{ public static void main(String args[]){ System.out.println(b); for (int i=0;i<=3;i++) System.out.println(a[i]); b=a;//b原来指向的内存空间将被回收 System.out.println(b.length); } }

(2) 已知数组b中有4个元素,请问将如何修改该程序;

(3) 如果不修改程序,程序在编译与运行过程中将产生什么错误?

4、 课程表

(1) 采用记事本编写下面所给的Java程序并保存为Schedule.java;

import java.util.*; class Schedule{ public static void main(String args[]){ boolean[][] table =new boolean[7][5];

int i,j; while(true){ System.out.println(\请输入星期:(1-7分别代表周一至周日)\ i=input(); System.out.println(\请输入节次:(1-5分别代表1、2节至9、10节各个时间段)\ j=input(); if (i>0 && i<8 && j>0 && j<6){ table[i-1][j-1]=true; }else break; } System.out.println(); System.out.println(\ 周一 周二 周三 周四 周五 周六 周日 \ System.out.println();

……

} private static int input(){ Scanner reader=new Scanner(System.in); while (!reader.hasNextInt()){ reader.nextLine(); System.out.println(\输入格式错误,请重新输入:\ } return reader.nextInt(); } }

(2) 该程序的作用是根据用户的输入生成Java周课程表,请补充省略的代码使

其输出结果如下图所示。

5、 运算符

(1) 分析以下程序并写出其输出结果;

class OperatorTest{ public static void main(String args[]){ int a=3,b=4,c=5,d=6,m=7,n=8; int x=64,arr[]=new int[8]; long y=-0x1000000000L,z=4; boolean flag; flag = a>3 && b-->4; flag = ++c>5 || ++d>6; flag = m==7 | ++n==8; x>>=33; y>>=33; z>>=65; System.out.printf(\ System.out.printf(\ System.out.println(arr instanceof int[]); } }

(2) 采用记事本编写上面所给的Java程序并验证你所写出的输出结果是否正

确。

6、 流程控制

(1) 分析以下程序并写出其输出结果;

import java.util.*;

public class ControlTest{ public static void main(String args[]){ System.out.println(\请输入一个整数:\ int n=input(); for (int i=0;i

}

}

while (!reader.hasNextInt()){ reader.nextLine(); System.out.println(\输入格式错误,请重新输入:\}

return reader.nextInt();

(2)(3)

四、实验结果 五、实验小结

采用记事本编写上面所给的Java程序并验证你所写出的输出结果是否正

确。

如果将语句if (i%n==6) 中的6替换为7将会产生什么结果?为什么?

本文来源:https://www.bwwdw.com/article/yifp.html

Top