前言
本文要记录的大概内容: 作者在大二上学期学的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,操作更方便哦
拿走不谢。