中南大学-java第1次实验报告.doc
实验报告2015-2016学年第 1学期 任课老师: 课程名称java面向对象程序设计班级学号姓名实验名称实验一简单数据类型和流程控制实验时间第10 周星期2第 78节实验环境PC/windows2000/2003/XP/Eclipse/Jcreator Pro/JBuild/JDK。 实验目的和内容要求实验一简单数据类型和流程控制1实验目的掌握标识符的定义规则、表达式的组成、各种数据类型及其使用方法、各种运算符的使用及其优先级控制。掌握分支结构,循环结构,continue,break,语句标号等内容。2实验内容(1)输入一个三角形的3个边长,检查是否能构成一个直角三角形。(2)任意从键盘输入一个0到9999之间的数,判断输入的数是几位数。(3)铁路运货的运费与路程远近及货物的重量有关,设有如下的单位运费:不足100千米,每吨每千米为1.0元100千米以上,不足300千米,每吨每千米为0.9元300千米以上,不足500千米,每吨每千米为0.8元 500千米以上,不足1000千米,每吨每千米为0.7元 1000千米以上,每吨每千米为0.6元编程:对输入的货物重量和路程,计算相应的运费。(4)用循环语句编程:求11000之间的偶数之和。 (5)编程求:1!+2!+3!+10!。3实验要求第(2)题加入异常处理机制;第(4)题用for和while循环各做一遍。实验过程、结果分析与总结1、程序运行过程和结果(请提供所完成的各道题主要实验代码和运行结果的界面截图): 实验1: 源代码: package shiyan;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;SuppressWarnings("serial")public class sanjiao extends JFrame implements ActionListenerprivate GridLayout gridLayout=new GridLayout(5,2, 10,10);private JLabel jLabel1=new JLabel("第一个边");private JTextField textField1=new JTextField(10);private JLabel jLabel2=new JLabel("第二个边");private JTextField textField2=new JTextField(10);private JLabel jLabel3=new JLabel("第三个边");private JTextField textField3=new JTextField(10);private JLabel jLabel4=new JLabel("结果");private JLabel jLabel5=new JLabel("");private JButton button1=new JButton("确定");private JButton button2=new JButton("取消");private JPanel panel=new JPanel();public sanjiao() panel.setLayout(gridLayout);panel.add(jLabel1);panel.add(textField1);panel.add(jLabel2);panel.add(textField2);panel.add(jLabel3);panel.add(textField3);panel.add(jLabel4);panel.add(jLabel5);panel.add(button1);panel.add(button2);jLabel4.setVisible(false);jLabel5.setVisible(false);button1.addActionListener(this);button2.addActionListener(this);this.add(panel);this.setSize(200,200);this.setVisible(true);public static void main(String args) new sanjiao();Overridepublic void actionPerformed(ActionEvent e) if (e.getSource()=button1) jLabel4.setVisible(true); jLabel5.setVisible(true); int a=Integer.parseInt(textField3.getText(); int b=Integer.parseInt(textField2.getText(); int c=Integer.parseInt(textField1.getText(); if (a*a=b*b+c*c|b*b=a*a+c*c|c*c=a*a+b*b) jLabel5.setText("是直角三角形!");else jLabel5.setText("不是直角三角形!");else System.exit(0);结果: 实验2:源代码:package shiyan2;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;import javax.swing.text.View;public class jiwei extends JFrame implements ActionListener private GridLayout gridLayout = new GridLayout(3, 2, 10, 10);private JLabel jLabel1 = new JLabel("请输入一个数:");private JTextField textField1 = new JTextField(10);private JLabel jLabel2 = new JLabel("位数:");private JLabel jLabel3 = new JLabel(" ");private JButton button1 = new JButton("确定");private JButton button2 = new JButton("取消");private JPanel panel = new JPanel();public jiwei() panel.setLayout(gridLayout);panel.add(jLabel1);panel.add(textField1);panel.add(jLabel2);panel.add(jLabel3);panel.add(button1);panel.add(button2);jLabel2.setVisible(false);jLabel3.setVisible(false);button1.addActionListener(this);button2.addActionListener(this);this.add(panel);this.setSize(200, 200);this.setVisible(true);Overridepublic void actionPerformed(ActionEvent e) if (e.getSource() = button1) jLabel2.setVisible(true);jLabel3.setVisible(true);int a = 0;try a = Integer.parseInt(textField1.getText(); catch (Exception e2) jLabel3.setText("请输入数字!");jLabel3.setText(""+panduan(a); else System.exit(0);private int panduan(int i) int num=0;if (i/1000!=0) num=4;else if (i/100!=0) num=3;else if (i/10!=0) num=2;elsenum=1;return num;public static void main(String args) new jiwei(); 结果: 实验3:源代码:package shiyan3;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JTextField;public class yunfei extends JFrame implements ActionListenerprivate GridLayout gridLayout=new GridLayout(4,2, 10,10);private JLabel jLabel1=new JLabel("路程:");private JTextField textField1=new JTextField(10);private JLabel jLabel2=new JLabel("重量:");private JTextField textField2=new JTextField(10);private JLabel jLabel3=new JLabel("费用:");private JLabel jLabel4=new JLabel("");private JButton button1=new JButton("确定");private JButton button2=new JButton("取消");private JPanel panel=new JPanel();public yunfei()panel.setLayout(gridLayout);panel.add(jLabel1);panel.add(textField1);panel.add(jLabel2);panel.add(textField2);panel.add(jLabel3);panel.add(jLabel4);panel.add(button1);panel.add(button2);jLabel3.setVisible(false);jLabel4.setVisible(false);button1.addActionListener(this);button2.addActionListener(this);this.add(panel);this.setSize(200,200);this.setVisible(true);public static void main(String args) new yunfei();Overridepublic void actionPerformed(ActionEvent e) if(e.getSource()=button1) jLabel3.setVisible(true); jLabel4.setVisible(true); String string=jisuan(Double.parseDouble(textField1.getText(),Double.parseDouble(textField2.getText(); jLabel4.setText(string); else System.exit(0);private String jisuan(double i, double j) double num=0;if (i<100) num=j*1;else if (i<300) num=j*0.9;else if (i<500) num=j*0.8;else if (i<1000) num=j*0.7;else num=j*0.6;return String.valueOf(num);结果:实验4:源代码:package shiyan4;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.ButtonGroup;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JRadioButton;import javax.swing.JTextField;public class he extends JFrame implements ActionListenerprivate JRadioButton radioButton1=new JRadioButton("FOR",true);private JRadioButton radioButton2=new JRadioButton("WHILE",false);private JButton button1=new JButton("确定");private JButton button2=new JButton("取消");private JLabel jLabel1=new JLabel(" 和:");private JLabel jLabel2=new JLabel("");private JPanel panel=new JPanel();private ButtonGroup buttonGroup=new ButtonGroup();public he() buttonGroup.add(button1);buttonGroup.add(button2);panel.add(radioButton1);panel.add(radioButton2);panel.add(button1);panel.add(button2);panel.add(jLabel1);panel.add(jLabel2);jLabel1.setVisible(false);jLabel2.setVisible(false);button1.addActionListener(this);button2.addActionListener(this);this.add(panel);this.setSize(200,200);this.setVisible(true);private int add_for(int x) int num=0;for (int i = 0; i < x; i=i+2) num += i;return num;private int add_while(int x) int num=0;if (x/2!=0) x=x-1;while (x>0) num += x;x=x-2; return num;public static void main(String args) new he();Overridepublic void actionPerformed(ActionEvent e) if (e.getSource()=button1) jLabel1.setVisible(true); jLabel2.setVisible(true); if (buttonGroup.getSelection()=button1) jLabel2.setText(add_for(1000)+"");else jLabel2.setText(add_while(1000)+"");else System.exit(0);结果:实验5: 源代码: package shiyan5;public class jiecheng private static int he(int num)int result = 0;if (num=1|num=2) result=num;else result=num*he(num-1);return result;public static void main(String args) System.out.print(he(10);结果:2、在实验过程中遇到的问题与解决方法: 3、实验过程中的发现与收获,未解决或需进一步解决的问题: 指导老师评阅意见指导老师: 年 月 日填写内容时,可把表格扩大。