山建java上机实验报告及答案之欧阳美创编.docx
《山建java上机实验报告及答案之欧阳美创编.docx》由会员分享,可在线阅读,更多相关《山建java上机实验报告及答案之欧阳美创编.docx(13页珍藏版)》请在冰豆网上搜索。
山建java上机实验报告及答案之欧阳美创编
实验二:
Java基本语法练习
时间:
2021.01.01
创作:
欧阳美
一、实验目的及任务
熟悉Java程序结构,掌握基本数据类型的使用方法,熟练运用分支、循环的使用方法。
二、实验环境
主机操作系统为Windows2000或WindowsXP,已经配置好的JDK及Java编辑软件UltraEdit、Editplus或者TextPad等软件中一种或多种。
三、实验步骤
1、使用Java编辑软件验证教材例题,参照教材对例题进行编写、编译并执行。
2、课下在实验报告纸上编写以下程序,并在上机课时编译并执行你所编写的程序,将编译及执行结果写在实验报告纸上。
1)设i是一个整数类型变量,写出下列问题对应的程序。
(1)判断i为奇数或偶数;
(2)判断i的值是否在0~9之间。
publicclassShu{
publicstaticvoidmain(String[]args){
Scannerinput=newScanner(System.in);
inti;
System.out.println("请输入一个整数:
(按回车)");
i=input.nextInt();
if(i%2==0)
{
System.out.println(i+"是一个偶数。
");
}
else
System.out.printf(i+"是一个奇数。
");
if(0<=i&&i<=9){
System.out.println(i+"在0~9之间");
}
else
System.out.println(i+"不在0~9之间");
}
}
2)设ch是一个字符变量,写出下列问题对应的程序。
(1)判断ch是一个十进制的数字字符;
(2)判断ch是一个英文字母,不论大写或者小写;
(3)将一个十进制的数字字符ch转换成对应的整数类型值。
publicclassfun
{
publicstaticvoidmain(String[]args)
{
charch='A';
if(ch>='0'&&ch<='9')
{
System.out.println(ch+"是十进制数字符\n");
}
elseif(ch>='a'&&ch<='z')
{
System.out.println(ch+"是小写字母\n");
}
elseif(ch>='A'&&ch<='Z')
{
System.out.println(ch+"是大写字母\n");
}
}
}
publicclasshaha2{
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
chara='h';
if((a>=65&&a<=90)||(a>=97&&a<=122)){
System.out.println("a是字母");
}if(a>=48&&a<=57){
System.out.println("a是数字");
}
System.out.println("a转化为整形是"+(a+0));
}
}
3、输出下列数字形式:
1
121
12321
1234321
publicclasshaha3{
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
int[][]a=newint[4][7];
for(inti=0;i<4;i++){
a[i][3]=i+1;
a[i][2]=a[i][4]=i;
a[i][1]=a[i][5]=i-1;
a[i][0]=a[i][6]=i-2;
for(intj=0;j<7;j++){
if(a[i][j]>=1)
System.out.print(a[i][j]);
else{
if(j==6){
System.out.println("");
}else{
System.out.print("");
}
}
}
}
}
}
四、实验报告内容
1、步骤2中所编写的程序,并将执行结果写在实验报告纸上。
实验三:
数组和字符串练习
一、实验目的及任务
掌握Java数组、字符串的使用。
二、实验环境
主机操作系统为Windows2000或WindowsXP,已经配置好的JDK及Java编辑软件UltraEdit、Editplus或者TextPad等软件中一种或多种。
三、实验步骤
1、使用Java编辑软件验证教材例题,参照教材对例题进行编写、编译并执行。
2、课下在实验报告纸上编写以下程序,并在上机课时编译并执行你所编写的程序,将编译及执行结果写在实验报告纸上。
1)设一个一维数组的元素值为:
748915,请输出具有以下内容的方阵:
2)找出两个字符串中所有共同的字符。
publicclasse32{
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
Stringa="hf",b="hfhh";
for(inti=0;ifor(intj=0;jif(a.charAt(i)==b.charAt(j)){
System.out.print(b.charAt(j));
}
}
}
}
}
3)读入一个字符串str,判断其是否为标识符。
importjava.io.BufferedReader;
importjava.io.IOException;
importjava.io.InputStream;
importjava.io.InputStreamReader;
publicclasse33{
publicstaticvoidmain(String[]args){
BufferedReaderstr=newBufferedReader(newInputStreamReader(System.in));
try{
Stringa=str.readLine();
}catch(IOExceptione){
e.printStackTrace();
}
}
}
publicclasse3{
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
int[]a={7,4,8,9,1,5};
for(inti=0;iSystem.out.print(a[i]);
}
System.out.println();
System.out.print(a[5]);
for(inti=0;iSystem.out.print(a[i]);
}
System.out.println();
System.out.print(a[4]);
System.out.print(a[5]);
for(inti=0;iSystem.out.print(a[i]);
}
System.out.println();
for(inti=3;iSystem.out.print(a[i]);
}
System.out.print(a[0]);
System.out.print(a[1]);
System.out.println(a[2]);
for(inti=2;iSystem.out.print(a[i]);
}
System.out.print(a[0]);
System.out.println(a[1]);
for(inti=1;iSystem.out.print(a[i]);
}System.out.println(a[0]);
}
}
3、提高练习。
根据题意边思考边将程序使用Java编辑软件编写出来。
题意:
读入一个浮点数值,将其转化为中文金额的大写方式,如123.45,转化为:
壹佰贰拾叁元肆角伍分。
编写程序实现题意并调试通过,针对以下多种数据情况下进一步完善程序。
1)当金额为整数时,只表示整数部分,省略小数部分,并添加“整”字。
如123表示为壹佰贰拾叁元整。
2)当金额中含有连续的0时,只需写一个“零”即可。
例如,10005表示为:
壹万零伍元整。
3)10的表示方式。
例如,110表示为:
壹佰一拾元整,而10表示为拾元整。
金额的中文大写方式。
四、实验报告内容
1、步骤2、3中所编写的程序及其编译及执行结果写在实验报告纸上。
实验四:
类和对象程序设计
一、实验目的及任务
理解面向对象封装性、继承性和多态性的基本概念,掌握声明类、封装类、继承类以及运行时多态性的实现方法。
二、实验环境
主机操作系统为Windows2000或WindowsXP,已经配置好的JDK及Java编辑软件UltraEdit、Editplus或者TextPad等软件中一种或多种。
三、实验步骤
1、使用Java编辑软件验证教材例题,参照教材对例题进行编写、编译并执行。
2、课下在实验报告纸上编写以下程序,并在上机课时编译并执行你所编写的程序,将编译及执行结果写在实验报告纸上。
1)定义一个类People,成员变量有姓名、出生日期、性别、身高、体重等,成员方法有计算年龄,并创建该类的对象。
publicclassPeople{
Stringname;
Stringbirth;
Stringsex;
Doublehight;
doubleweight;
publicPeople(){
}
publicvoidage(){
System.out.print(2012-Integer.parseInt(birth));
}
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
Peoplep=newPeople();
}
}
2)设已有类声明如下:
publicclassDate1
{
intyear,month,day;
publicvoidtomorrow(){}
publicvoidyestoday(){}
}
请写出实现其中tomorrow()方法和yestoday()方法的代码。
publicclassDate1{
/**
*@paramargs
*/
intyear,month,day;
publicvoidtomorrow(){
day++;
System.out.println(year+":
"+month+":
"+day);
}
publicvoidyestoday(){
day--;
System.out.println(year+":
"+month+":
"+day);
}
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
}
}
3)设计Number类
(1)设计一个类Number1,有一个方法:
求n的阶乘。
(2)设计一个类Number2,它是Number1的子类,它有一个方法:
求1+2+3+…+n。
publicclassNumber1{
intn;
publicintjiecheng(intn){
intresult;
if(n==0){
return1;
}
else{
returnjiecheng(n-1)*n;
}
}
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
Number1a=newNumber1();
System.out.print(a.jiecheng(4));
}
}
publicclassNumber2{
publicvoidsum(intn){
System.out.print(n*(n+1)/2);
}
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
Number2a=newNumber2();
a.sum(4);
}
}
3、提高练习。
根据题意边思考边将程序使用Java编辑软件编写出来。
题意:
设计银行账户类及存取款操作方法。
设计一个银行账户类,其中包括:
1)账户信息:
账号、姓名、开户时间、身份证号码等。
2)存款方法。
3)取款方法。
银行账户类声明为public,其中的成果变量声明为private,方法声明为public。
publicclassBank{
privateStringname;
privateStringbankno;
privateStringidno;
privateStringtime;
privatestaticdoublemoneny;
publicvoidadd(doublesavemoney){
this.moneny=this.moneny+savemoney;
}
publicvoidfetch(doublefetchmoney){
this.moneny=this.moneny-fetchmoney;
}
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
}
}
四、实验报告内容
1、步骤2、3中所编写的程序及其编译及执行结果写在实验报告纸上。
时间:
2021.01.01
创作:
欧阳美