栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java类编程实验

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java类编程实验

实验目的

1. 掌握Java类的基本定义和使用方法
2. 熟悉Java语言的基本语法和运行原理
3. 掌握Java的基本数据类型、表达式和程序控制结构
4. 熟悉Eclipse开发环境的基本使用方法

实验导读

1. Java的标准输入和输出流
java.lang.System类提供了三种有用的标准流:标准输入流(System.in)、标准输出流(System.out)和标准出错流(System.err)。通过他们可以实现数据的输入输出操作。
2) 标准输入流(System.in)
通常用于读取用户从键盘输入或用户定义的输入设备的输入。类java.util.Scanner结合System.in实现对指定数据的输入。
3) 标准输出流(System.out)
用于程序的输出,通常用来在屏幕或用户指定的输出设备上显示信息。有两种典型用法:System.out.print(data)实现在当前位置输出数据,System.out.println(data)实现换行输出数据到屏幕或用户定义的输出设备。
4) 标准出错流(System.err)
用于显示出错信息,采用System.err.print(data)或System.err.println(data)将指定的data输出到指定的输出设备,默认设备为屏幕。
2. javax.swing.JOptionPane
对话框式的输入和输出,可以提供较好的界面处理。能通过弹出一个标准对话框,来提示用户。可以通过这个性质来实现具有对话框显示效果的数据输入和输出。例如:
String str=JOptionPane.showInputDialog(“输入您的猜测:”);
3. java.util.Scanner
java.util.Scanner类可将文本转换成原语或字符串。Scanner对象通过next()系列方法将文本标识转换成不同类型的值。通常和标准输入流(System.in)结合,允许用户通过标准输入流读入数据。Scanner类提供的方法:nextByte()、nextshort()、nextLong()、nextDouble()、nextFloat()、nextInt()等。例如:
Scanner scanner=new Scanner(System.in);
int i=scanner.netInt(); //从键盘输入一个整数
scanner.close();

实验内容
  1. 对象的创建和使用(共60分)
    使用集成开发环境编写一个圆环类Ring的Java程序。圆环类有3个数据成员,分别是内半径innerRadius,外半径outerRadius和颜色color,这些属性通过get和set方法进行封装。另外,圆环类中的getArea方法可以返回其面积。把程序中的代码补充完整,并查看结果。
public class Ring {    	
  private double innerRadius;
  private double outerRadius;
  private String color;
  
  public Ring(double iRadius, double oRadius, String c) {
//初始化数据成员(5分)
 setInnerRadius(iRadius);
		setOuterRadius(oRadius);
		setColor(c);                                                                                                         
  }
  //用get和set方法封装数据成员(10分)
		public double getInnerRadius() {
		   return innerRadius;                                       
	}
	public void setInnerRadius(double innerRadius) {
		     this.innerRadius = innerRadius;                                     
	}
	public double getOuterRadius() {
		 return outerRadius;                                         
	}
	public void setOuterRadius(double outerRadius) {
		      this.outerRadius = outerRadius;                                      
	}
	public String getColor() {
		    return color;                                        
	}
	public void setColor(String color) {
		    this.color = color;                                        
	}
  //求圆环面积(5分)
  public double getArea() {
		    return Math.PI * (getOuterRadius() * getOuterRadius() - getInnerRadius() * getInnerRadius());                                                                         
  }
  public static void main(String[] args) {
    	Ring ring = new Ring(5,8,"red");	
		System.out.println("圆环的内半径: " + ring.getInnerRadius( ));
		System.out.println("圆环的外半径: " + ring.getOuterRadius( ));
		System.out.println("圆环的颜色: " + ring.color);
    	System.out.println("圆环的面积: " + ring.getArea() + "n");
	
		ring.setInnerRadius(4);
	         ring.setOuterRadius(6);           //设置圆环ring的外半径为6(5分)
		ring.setColor("blue");
		System.out.println("圆环的内半径: " + ring.getInnerRadius( ));
		System.out.println("圆环的外半径: " + ring.getOuterRadius( ));
		System.out.println("圆环的颜色: " + ring.color);
    	System.out.println("圆环的面积: " + ring.getArea());    
  }
}

思考:
  1. 将程序中的语句Ring ring = new Ring(5,8,“red”); 改成Ring ring = new Ring();修改后编译运行,此时有错误发生吗?分析错误的原因。(5分)
答:会发生错误,没有传入相应的参数 。      
  1. 接着为程序添加一个如下所示的默认构造函数,观察程序运行是否还有上述错误发生?(5分)
    public Ring() {
    innerRadius = 1.0;
    outerRadius = 2.0;
    color = “white”;
    }
答:     更改之后不会发生错误,该构函数无需传入相应的的参数。 

如果在输出圆环的面积时要求保留两位小数,程序如何修改?(5分)

答: System.out.println(" 圆环的面积: " + String.format("%.2f",ring.getArea()));        
  1. 请为圆环类Ring再添两个方法以便能返回内圆和外圆的周长。(20分)
    答:内圆周长
    public double getInnerPerimeter(){//圆内周长
    return innerRadius2Math.PI;
    }
    外圆周长
  public double getOuterPerimeter(){//圆外周长
 return outerRadius*2*Math.PI;
}

在控制台下求两个实数的最大值(CompareTwoNumbers.java)(15分)

import java.util.Scanner; //导入Scanner对象;
public class CompareTwonumbers {
	public static void main(String[] args) {		
		double number1,number2;
		 Scanner sc = new Scanner(System.in);  //实例化一个Scanner对象;
		System.out.println("请输入第一个实数:");
		  number1 = sc.nextDouble();  //从键盘输入一个实数赋值给number1;
		System.out.println("请输入第二个实数:");
		 number2 = sc.nextDouble();     //从键盘输入一个实数赋值给number2;
		  double max = number1 > number2 ? number1 : number2;
System.out.println(" 最大值为: " + max);                                                  //输出最大值
		  sc.close();            //关闭Scanner对象,释放资源
	}
}	
2. 猜数字游戏(GuessNumber.java)(15分)

要求:系统生成一个1至100之间的随机整数(sysNumber),利用JoptionPane对话框输入你的猜测整数(guessNumber),循环猜测两个数是否相等,如果(guessNumber>sysNumber),则提示“猜大了,再输入你的猜测:”,并重新输入新的猜测整数,如果(guessNumber

public class GuessNumber {
	public static void main(String[] args) {
		//定义变量
		  	int sysNumber;                                                             
		//生成1至100之间的随机数
		     	 sysNumber = (int)(Math.random()*100)+1;                                                            
		//输入你的猜测,注意数据类型的转换
		String str = JOptionPane.showInputDialog("输入您的猜测:");  
		guessNumber = Integer.parseInt(str);
		while( guessNumber!= sysNumber       ) {
			if(   guessNumber> sysNumber             ) {
				str = JOptionPane.showInputDialog("猜大了,再输入你的猜测:");
			} else if( guessNumber
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/490326.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号