实验二:Java基本语法练习
一、实验目的及任务
熟悉Java程序结构,掌握基本数据类型的使用方法,熟练运用分支、循环的使用方法。
二、实验环境
主机操作系统为Windows2000或Windows XP,已经配置好的JDK及Java编辑软件UltraEdit、Editplus或者TextPad等软件中一种或多种。
三、实验步骤
1、使用Java编辑软件验证教材例题,参照教材对例题进行编写、编译并执行。
2、课下在实验报告纸上编写以下程序,并在上机课时编译并执行你所编写的程序,将编译及执行结果写在实验报告纸上。
1)设i是一个整数类型变量,写出下列问题对应的程序。
(1)判断i为奇数或偶数;
(2)判断i的值是否在0~9之间。
public class Shu {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int i;
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转换成对应的整数类型值。
public class fun
{
public static void main(String[] args)
{
char ch='A';
if(ch>='0' && ch<='9')
{
System.out.println(ch+"是十进制数字符\n"); }
else if(ch>='a' && ch<='z')
{
System.out.println(ch+"是小写字母\n"); }
else if(ch>='A' && ch<='Z')
{
System.out.println(ch+"是大写字母\n"); }
}
}
public class haha2 {
/**
* @param args
*/
public static void main(String[] args) { // TODO Auto-generated method stub
char a='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
1 2 1
1 2 3 2 1
1 2 3 4 3 2 1
public class haha3 {
/**
* @param args
*/
public static void main(String[] args) { // TODO Auto-generated method stub
int[][] a=new int[4][7];
for(int i=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(int j=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或Windows XP,已经配置好的JDK及Java编辑软件UltraEdit、Editplus或者TextPad等软件中一种或多种。
三、实验步骤
1、使用Java编辑软件验证教材例题,参照教材对例题进行编写、编译并执行。
2、课下在实验报告纸上编写以下程序,并在上机课时编译并执行你所编写的程序,将编译及执行结果写在实验报告纸上。
1)设一个一维数组的元素值为:7 4 8 9 1 5,请输出具有以下内容的方阵:
7
5
1
9
8
4475198847519984751198475519 847
2)找出两个字符串中所有共同的字符。
public class e32 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String a="hf",b="hfhh";
for(int i=0;i<a.length();i++){
for(int j=0;j<b.length();j++){
if(a.charAt(i)==b.charAt(j)){
System.out.print(b.charAt(j));
}
}
}
}
}
3)读入一个字符串str,判断其是否为标识符。 import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
public class e33 {
public static void main(String[] args) {
BufferedReader str=new BufferedReader( new InputStreamReader(System.in));
try {
String a=str.readLine();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public class e3 {
/**
* @param args
*/
public static void main(String[] args) { // TODO Auto-generated method stub
int[] a={7,4,8,9,1,5};
for(int i=0;i<a.length;i++){
System.out.print(a[i]);
}
System.out.println();
}
} System.out.print(a[5]); for(int i=0;i<a.length-1;i++){ System.out.print(a[i]); } System.out.println(); System.out.print(a[4]); System.out.print(a[5]); for(int i=0;i<a.length-2;i++){ System.out.print(a[i]); } System.out.println(); for(int i=3;i<a.length;i++){ System.out.print(a[i]); } System.out.print(a[0]); System.out.print(a[1]); System.out.println(a[2]); for(int i=2;i<a.length;i++){ System.out.print(a[i]); } System.out.print(a[0]); System.out.println(a[1]); for(int i=1;i<a.length;i++){ System.out.print(a[i]); }System.out.println(a[0]);
3、提高练习。
根据题意边思考边将程序使用Java编辑软件编写出来。
题意:读入一个浮点数值,将其转化为中文金额的大写方式,如123.45,转化为:壹佰贰拾叁元肆角伍分。
编写程序实现题意并调试通过,针对以下多种数据情况下进一步完善程序。
1) 当金额为整数时,只表示整数部分,省略小数部分,并添加“整”字。
如123表示为壹佰贰拾叁元整。
2)
3)10的表示方式。例如,110表示为:壹佰一拾元整,而10表示为拾元整。 金额的中文大写方式。
四、实验报告内容
1、步骤2、3中所编写的程序及其编译及执行结果写在实验报告纸上。 当金额中含有连续的0时,只需写一个“零”即可。例如,10005表示为:壹万零伍元整。
实验四:类和对象程序设计
一、实验目的及任务
理解面向对象封装性、继承性和多态性的基本概念,掌握声明类、封装类、继承类以及运行时多态性的实现方法。
二、实验环境
主机操作系统为Windows2000或Windows XP,已经配置好的JDK及Java编辑软件UltraEdit、Editplus或者TextPad等软件中一种或多种。
三、实验步骤
1、使用Java编辑软件验证教材例题,参照教材对例题进行编写、编译并执行。
2、课下在实验报告纸上编写以下程序,并在上机课时编译并执行你所编写的程序,将编译及执行结果写在实验报告纸上。
1)定义一个类People,成员变量有姓名、出生日期、性别、身高、体重等,成员方法有计算年龄,并创建该类的对象。
public class People {
String name;
String birth;
String sex;
Double hight;
double weight;
public People(){
}
public void age(){
System.out.print(2012-Integer.parseInt(birth));
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
People p=new People();
}
}
2)设已有类声明如下:
public class Date1
{
int year, month, day;
public void tomorrow() { }
public void yestoday() { }
}
请写出实现其中tomorrow()方法和yestoday()方法的代码。
public class Date1 {
/**
* @param args
*/
int year, month, day;
public void tomorrow() {
day++;
System.out.println(year+":"+month+":"+day);
}
public void yestoday() {
day--;
System.out.println(year+":"+month+":"+day);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
3)设计Number类
(1)设计一个类Number1,有一个方法:求n的阶乘。
(2)设计一个类Number2 ,它是Number1的子类,它有一个方法:求1+2+3+?+n。
public class Number1 {
int n;
public int jiecheng(int n){
int result;
if(n==0){
return 1;
}
else{
}
return jiecheng(n-1)*n; } } /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Number1 a=new Number1(); System.out.print(a.jiecheng(4)); }
public class Number2 {
public void sum(int n){
System.out.print(n*(n+1)/2);
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Number2 a=new Number2();
a.sum(4);
}
}
3、提高练习。
根据题意边思考边将程序使用Java编辑软件编写出来。
题意:设计银行账户类及存取款操作方法。设计一个银行账户类,其中包括:
1)账户信息:账号、姓名、开户时间、身份证号码等。
2)存款方法。
3)取款方法。
银行账户类声明为public,其中的成果变量声明为private,方法声明为public。
public class Bank {
private String name;
private String bankno;
private String idno;
private String time;
private static double moneny;
public void add(double savemoney){
this.moneny=this.moneny+savemoney;
}
public void fetch(double fetchmoney){
this.moneny=this.moneny-fetchmoney;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
四、实验报告内容
1、步骤2、3中所编写的程序及其编译及执行结果写在实验报告纸上。
第二篇:JAVA上机实验报告
JAVA上机实验报告
学号: 姓名:
班级:
1.实验题目:编写一个名为Octagon的类,它扩展GeometricObject并实现Comaparable和Cloneable接口。
假设八边形八条边的变长都相等。它的面积可以使用下面的公式计算:
面积=(2+4 *边长*边长
画出包括Octagon,GeometricObject,Comaparable,Cloneable的UML图。编写一个测试程序,创建一个边长值为5的Octagon对象,然后显示它的面积和周长。使用clone方法创建一个新对象,并使用compareTo方法比较这两个对象。
2.实验目的:通过编写这个程序,让学生逐步了解本章所学习的抽象类和接口的知识重点,会运用本章知识编写程序解决实际问题。
3.实验内容:
package CalculateOctagon;
import java.util.Scanner;
public class CalculateOctagon {
public static void main(String[] args) {
public abstract class GeometricObject{
private String color="white";
private boolean filled;
private java.util.Date dateCreated;
protected GeometricObject(){
dateCreated=new java.util.Date();
}
protected
filled){
dateCreated=new java.util.Date(); this.color=color;
this.filled=filled;
}
public String getcolor(){
return color;
}
public void setcolor(String color){ this.color=color;
}
public boolean isFilled(){
return filled;
}
public void setFilled(boolean filled){ this.filled=filled;
}
public java.util.Date getDateCreated(){ return dateCreated;
} GeometricObject(String color,boolean
public String toString(){
return "created on"+dateCreated+"\ncolor:"+color+"and filled:"+filled; }
public abstract double getArea();
public abstract double getPerimeter();
}
public class Octagon extends GeometricObject implements Comparable{
public Object clone()
CloneNotSupportedException {
return super.clone();
}
public int compareto(Object o){
if (Area>((Octagon)o).Area)
return 1;
else if (Area<((Octagon)o).Area)
return -1;
else
return 0;
}
} throws
System.out.print("Please enter a number:");
Scanner input=new Scanner(System.in);
int length=input.nextInt();
int Perimeter=8*length;
double Area=(2+4/Math.sqrt(2))* length * length; System.out.println("The area is: "+Area);
System.out.println("The Perimeter is :"+ Perimeter); }
}
4.实验总结:通过本次试验我发现本章内容虽然表面上理解了,质实还是不懂,虽说听得还可以,但是编程序还是不行,没思路,知识点掌握不好