Java类编程实验

Java类编程实验,第1张

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
对话框式的输入和输出,可以提供较好的界面处理。能通过d出一个标准对话框,来提示用户。可以通过这个性质来实现具有对话框显示效果的数据输入和输出。例如:
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					
										


					

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5482450.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存