武汉理工大学Java语言程序设计课内实验报告


前言

本文要记录的大概内容: 作者在大二上学期学的Java语言程序设计课程的课内两次实验。
开发环境:Eclipse开发环境


以下是本篇文章正文内容,下面案例可供参考

一、类的设计与对象使用

问题描述:编写一个应用程序计算梯形和圆形的面积。
基本要求:通过在程序中定义2个类来分别描述梯形和圆形的属性和求面积的方法,掌握类的定义方法;通过在程序中定义主类,创建梯形类和圆形类的对象计算它们的面积,掌握对象的定义和使用方法。

1.引入库

package mianjji;
import java.util.Scanner;

2.具体实现

class Circle{
    
    
	 double pi=3.14;
	 double c;
	 double circle(double r) {
    
    
		c=pi*r*r;
		return c;
	}
}
class Trapezoid{
    
    
	 double s;
	 double trapezoid(double a,double b,double h) {
    
    
		 s=(a+b)*h/2;
		 return s;
	 }
}

public class mianjji {
    
    

	public static void main(String[] args) {
    
    
		// TODO Auto-generated method stub
		System.out .print("请输入你想要计算的类型(圆形输1,梯形输2):");
		Scanner scan=new Scanner(System.in);
		int i=scan.nextInt();
		if(i==1) {
    
    
		System.out.print("请输入半径:");
		double r=scan.nextDouble();
		Circle D= new Circle();
		System.out.println("圆的面积是:"+D.circle(r));
		}
		else {
    
    
		System.out.print("请分别输入上底,下底,高:");
		double a=scan.nextDouble();
		double b=scan.nextDouble();
		double h=scan.nextDouble();
		Trapezoid e=new Trapezoid();
		System.out.println("梯形的面积是:"+e.trapezoid(a,b,h));	
		}
	scan.close();
	}
}

3.实验结果展示

(1)计算圆形面积
在这里插入图片描述

(2)计算梯形面积
在这里插入图片描述

二、文本框、文本区和布局的设计

问题描述:自己构思,编写一个具有如下布局的应用程序,要求当在上面的文本区中输入若干数时,下面的文本框同时对输入的数进行求和运算并求出平均数。即随着输入的变化,文本框不断更新求和及平均值。
基本要求:进一步熟悉应用程序的结构和开发过程;掌握数组的创建和使用方法;掌握文本框和文本区的使用方法;掌握接口的使用方法,掌握基本组件的事件处理机制;掌握布局类使用方法。

1.引入库

package helloworld;

import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.JLabel;
import java.awt.Font;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;

import java.util.StringTokenizer;

2.具体实现

public class text {
    
    

	private JFrame frame;
	private JTextField textField;
	private JTextField textField_1;
	private JTextField textField_2;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
    
    
		EventQueue.invokeLater(new Runnable() {
    
    
			public void run() {
    
    
				try {
    
    
					text window = new text();
					window.frame.setVisible(true);
				} catch (Exception e) {
    
    
					e.printStackTrace();
				}
			}
		});
	}

	public text() {
    
    
		initialize();
	}

	/**
	 * Initialize the contents of the frame.
	 */
	private void initialize() {
    
    
		frame = new JFrame();
		frame.setTitle("\u548C\u4E0E\u5E73\u5747\u503C");
		frame.getContentPane().setFont(new Font("SimSun", Font.PLAIN, 12));
		frame.setBounds(100, 100, 777, 443);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.getContentPane().setLayout(null);
		
		JLabel lblNewLabel = new JLabel("\u548C\u503C");
		lblNewLabel.setFont(new Font("宋体", Font.PLAIN, 12));
		lblNewLabel.setBounds(112, 211, 58, 15);
		frame.getContentPane().add(lblNewLabel);
		
		JLabel lblNewLabel_1 = new JLabel("\u5E73\u5747\u503C");
		lblNewLabel_1.setBounds(112, 294, 58, 15);
		frame.getContentPane().add(lblNewLabel_1);
		
		textField = new JTextField();
		textField.addKeyListener(new KeyAdapter() {
    
    
			@Override
			public void keyPressed(KeyEvent e) {
    
    
				String s = textField.getText();
				StringTokenizer fenxi = new StringTokenizer(s,"s, ");
					int n = fenxi.countTokens();
					String a[]=new String[n];
					double sum=0;
					for(int i=0;i<n;i++)
					{
    
    
						String temp=fenxi.nextToken();
						a[i]=temp;
						 sum = sum + Double.parseDouble(a[i]);
					}
					
					double  average = sum/n;
					
					textField_1.setText(""+sum);
					textField_2.setText(""+average);
			}
		}
		);



		textField.setBounds(104, 28, 580, 160);
		frame.getContentPane().add(textField);
		textField.setColumns(10);
		
		textField_1 = new JTextField();
		textField_1.setBounds(212, 208, 472, 31);
		frame.getContentPane().add(textField_1);
		textField_1.setColumns(10);
		
		textField_2 = new JTextField();
		textField_2.setBounds(212, 291, 472, 31);
		frame.getContentPane().add(textField_2);
		textField_2.setColumns(10);
	}

}

该处使用了window builder开发插件。

3.实验结果展示

在这里插入图片描述


总结

原实验报告百度网盘链接
链接: 冲冲冲~
提取码: gpke
复制这段内容后打开百度网盘手机App,操作更方便哦
拿走不谢。

猜你喜欢

转载自blog.csdn.net/mo_zhe/article/details/112433222