文档库 最新最全的文档下载
当前位置:文档库 › java上机4参考代码

java上机4参考代码

java上机4参考代码
java上机4参考代码

Java上机实践4 GUI编程

实验1 布局与日历

1.答案:

【代码1】:pCenter.setLayout(new GridLayout(7,7));

【代码2】:pCenter.add(titleName[i]);

【代码3】:pCenter.add(labelDay[i]);

【代码4】:add(scrollPane,BorderLayout.CENTER);

【代码5】:add(pNorth,BorderLayout.NORTH);

【代码6】:add(pSouth,BorderLayout.SOUTH);

2.模板代码

CalendarBean.java

import java.util.Calendar;

public class CalendarBean

{

String day[];

int year=2005,month=0;

public void setY ear(int year)

{ this.year=year;

}

public int getY ear()

{ return year;

}

public void setMonth(int month)

{ this.month=month;

}

public int getMonth()

{ return month;

}

public String[] getCalendar()

{ String a[]=new String[42];

Calendar 日历=Calendar.getInstance();

日历.set(year,month-1,1);

int 星期几=日历.get(Calendar.DAY_OF_WEEK)-1;

int day=0;

if(month==1||month==3||month==5||month==7||month==8||month==10||month==12) { day=31;

}

if(month==4||month==6||month==9||month==11)

{ day=30;

}

if(month==2)

{ if(((year%4==0)&&(year%100!=0))||(year%400==0))

{ day=29;

}

else

{ day=28;

}

}

for(int i=星期几,n=1;i<星期几+day;i++)

{

a[i]=String.valueOf(n) ;

n++;

}

return a;

}

}

CalendarFrame.java

import java.util.*;

import java.awt.*;

import java.awt.event.*;

import java.applet.*;

public class CalendarFrame extends Frame implements ActionListener

{ Label labelDay[]=new Label[42];

Button titleName[]=new Button[7];

String name[]={"日","一","二","三", "四","五","六"};

Button nextMonth,previousMonth;

int year=2006,month=10;

CalendarBean calendar;

Label showMessage=new Label("",Label.CENTER);

public CalendarFrame()

{ Panel pCenter=new Panel();

【代码1】//将pCenter的布局设置为7行7列的GridLayout 布局。

for(int i=0;i<7;i++)

{ titleName[i]=new Button(name[i]);

【代码2】//pCenter添加组件titleName[i]。

}

for(int i=0;i<42;i++)

{

labelDay[i]=new Label("",Label.CENTER);

【代码3】//pCenter添加组件labelDay[i]。

}

calendar=new CalendarBean();

calendar.setY ear(year);

calendar.setMonth(month);

String day[]=calendar.getCalendar();

for(int i=0;i<42;i++)

{ labelDay[i].setText(day[i]);

}

nextMonth=new Button("下月");

previousMonth=new Button("上月");

nextMonth.addActionListener(this);

previousMonth.addActionListener(this);

Panel pNorth=new Panel(),

pSouth=new Panel();

pNorth.add(previousMonth);

pNorth.add(nextMonth);

pSouth.add(showMessage);

showMessage.setText("日历:"+calendar.getY ear()+"年"+ calendar.getMonth()+"月" );

ScrollPane scrollPane=new ScrollPane();

scrollPane.add(pCenter);

【代码4】// 窗口添加scrollPane在中心区域

【代码5】// 窗口添加pNorth 在北面区域

【代码6】// 窗口添加pSouth 在南区域。

}

public void actionPerformed(ActionEvent e)

{ if(e.getSource()==nextMonth)

{ month=month+1;

if(month>12)

month=1;

calendar.setMonth(month);

String day[]=calendar.getCalendar();

for(int i=0;i<42;i++)

{ labelDay[i].setText(day[i]);

}

}

else if(e.getSource()==previousMonth)

{ month=month-1;

if(month<1)

month=12;

calendar.setMonth(month);

String day[]=calendar.getCalendar();

for(int i=0;i<42;i++)

{ labelDay[i].setText(day[i]);

}

}

showMessage.setText("日历:"+calendar.getY ear()+"年"+calendar.getMonth()+"月" );

}

}

CalendarMainClass.java

public class CalendarMainClass

{ public static void main(String args[])

{ CalendarFrame frame=new CalendarFrame();

frame.setBounds(100,100,360,300);

frame.setVisible(true);

frame.validate();

frame.addWindowListener(new java.awt.event.WindowAdapter()

{ public void windowClosing(java.awt.event.WindowEvent e)

{ System.exit(0);

}

}

);

}

}

实验2 方程求根

1.答案:

【代码1】:controlButton.addActionListener(this);;

【代码2】:textA.getText()

【代码3】:textB.getText()

【代码4】:textC.getText()

2.模板代码

SquareEquation.java

public class SquareEquation

{ double a,b,c;

double root1,root2;

public void setA(double a)

{ this.a=a;

}

public void setB(double b)

{ this.b=b;

}

public void setC(double c)

{ this.c=c;

}

public double getRootOne() throws NoRealRootException,NoSquareEquationException { if(a!=0)

{ double disk=b*b-4*a*c;

if(disk>=0)

{ root1=(-b+Math.sqrt(disk))/(2*a);

}

else

{ throw new NoRealRootException("没有实根");

}

}

else

{

throw new NoRealRootException("不是二次方程");

}

return root1;

}

public double getRootTwo() throws NoRealRootException,NoSquareEquationException { if(a!=0)

{ double disk=b*b-4*a*c;

if(disk>=0)

{ root2=(-b-Math.sqrt(disk))/(2*a);

}

else

{ throw new NoRealRootException("没有实根");

}

}

else

{

throw new NoRealRootException("不是二次方程");

}

return root2;

}

}

class NoRealRootException extends Exception

{ String message;

NoRealRootException(String s)

{ message=s;

}

public String getMessage()

{ return message;

}

}

class NoSquareEquationException extends Exception

{ String message;

NoSquareEquationException(String s)

{ message=s;

}

public String getMessage()

{ return message;

}

}

EquationFrame.java

import java.awt.*;

import java.awt.event.*;

public class EquationFrame extends Frame implements ActionListener

{ SquareEquation equation;

TextField textA,textB,textC;

TextArea showRoots;

Button controlButton;

public EquationFrame()

{ equation=new SquareEquation();

textA=new TextField(8);

textB=new TextField(8);

textC=new TextField(8);

showRoots=new TextArea();

controlButton=new Button("确定");

Panel pNorth=new Panel();

pNorth.add(new Label("二次项系数:"));

pNorth.add(textA);

pNorth.add(new Label("一次项系数:"));

pNorth.add(textB);

pNorth.add(new Label("常数项系数:"));

pNorth.add(textC);

pNorth.add(controlButton);

【代码1】 //当前窗口作为controlButton的ActionEvent事件的监视器 add(pNorth,BorderLayout.NORTH);

add(showRoots,BorderLayout.CENTER);

setBounds(100,100,630,160);

setVisible(true);

validate();

addWindowListener(new WindowAdapter()

{ public void windowClosing(WindowEvent e) { System.exit(0);

}

}

);

}

public void actionPerformed(ActionEvent e)

{ try{

double a=Double.parseDouble(【代码2】); //textA调用方法获取其中的文本

double b=Double.parseDouble(【代码3】); //textB调用方法获取其中的文本double c=Double.parseDouble(【代码4】); // textC调用方法获取其中的文本 equation.setA(a);

equation.setB(b);

equation.setC(c);

textA.setText(""+a);

textB.setText(""+b);

textC.setText(""+c);

showRoots.append("\n 根:"+equation.getRootOne());

showRoots.append(" 根:"+equation.getRootTwo());

}

catch(Exception ex)

{ showRoots.append("\n"+ex+"\n");

}

}

}

EquationMainClass.java

public class EquationMainClass

{ public static void main(String args[])

{ EquationFrame frame=new EquationFrame();

}

}

实验3 字体对话框

1.答案:

【代码1】:setModal(true);

【代码2】:setVisible(false);

【代码3】:setVisible(false);

【代码4】:new FontDialog(this);

【代码5】:setVisible(true);

【代码6】:dialog.setTitle("字体对话框");

2.模板代码

FontFamilyNames.java

import java.awt.GraphicsEnvironment;

public class FontFamilyNames

{ String fontName[];

public String [] getFontName()

{ GraphicsEnvironment ge=GraphicsEnvironment.getLocalGraphicsEnvironment();

fontName=ge.getAvailableFontFamilyNames();

return fontName;

}

}

FontDialog.java

import java.awt.event.*;

import java.awt.*;

import javax.swing.JLabel;

public class FontDialog extends Dialog implements ItemListener,ActionListener { FontFamilyNames fontFamilyNames;

int fontSize=38;

String fontName;

Choice fontNameList;

JLabel label;

Font font;

Button yes,cancel;

static int YES=1,NO=0;

int state=-1;

FontDialog(Frame f)

{ super(f);

fontFamilyNames=new FontFamilyNames();

【代码1】 //对话框设置为有模式 yes=new Button("Yes");

cancel=new Button("cancel");

yes.addActionListener(this);

cancel.addActionListener(this);

label=new JLabel("hello,奥运",JLabel.CENTER);

fontNameList=new Choice();

String name[]=fontFamilyNames.getFontName();

for(int k=0;k

{ fontNameList.add(name[k]);

}

fontNameList.addItemListener(this);

add(fontNameList,BorderLayout.NORTH);

add(label,BorderLayout.CENTER);

Panel pSouth=new Panel();

pSouth.add(yes);

pSouth.add(cancel);

add(pSouth,BorderLayout.SOUTH);

setBounds(100,100,280,170);

addWindowListener(new WindowAdapter()

{ public void windowClosing(WindowEvent e)

{ state=NO;

setVisible(false);

}

}

);

validate();

}

public void itemStateChanged(ItemEvent e)

{ fontName=(String)fontNameList.getSelectedItem();

font=new Font(fontName,Font.BOLD,fontSize);

label.setFont(font);

label.repaint();

validate();

}

public void actionPerformed(ActionEvent e)

{ if(e.getSource()==yes)

{ state=YES;

【代码2】 //对话框设置为不可见

}

else if(e.getSource()==cancel)

{ state=NO;

【代码3】 //对话框设置为不可见

}

}

public int getState()

{ return state;

}

public Font getFont()

{ return font;

}

}

FrameHaveDialog.java

import java.awt.event.*;

import java.awt.*;

import javax.swing.JTextArea;

public class FrameHaveDialog extends Frame implements ActionListener { JTextArea text;

Button buttonFont;

FrameHaveDialog()

{ buttonFont=new Button("设置字体");

text=new JTextArea("Java 2实用教程(第三版)");

buttonFont.addActionListener(this);

add(buttonFont,BorderLayout.NORTH);

add(text);

setBounds(60,60,300,300);

setVisible(true);

validate();

addWindowListener(new WindowAdapter()

{ public void windowClosing(WindowEvent e)

{ System.exit(0);

}

}

);

}

public void actionPerformed(ActionEvent e)

{ if(e.getSource()==buttonFont)

{ FontDialog dialog=【代码4】 //创建对话框

【代码5】 //对话框设置为可见

【代码6】 //对话框设置设置标题为“字体对话框”

if(dialog.getState()==FontDialog.YES)

{ text.setFont(dialog.getFont());

text.repaint();

}

if(dialog.getState()==FontDialog.NO)

{ text.repaint();

}

}

}

}

FontDialogMainClass.java

public class FontDialogMainClass

{ public static void main(String args[])

{ new FrameHaveDialog();

}

}

《Java语言程序设计》实验指导手册

Java语言程序设计实验指导手册 班级:_______________ 学号:_______________ 姓名:_______________ 电子与信息工程学院计算机科学系

第一部分上机实验的指导思想和要求 一、上机实验的目的 《Java语言程序设计》是计算机专业的主要选修课。Java语言是目前广为流行的程序设计语言之一,适用于网络上编程,满足Internet上软件开发的需要,它是一门概念性和实践性都很强的专业课程。通过学习本课程,应能准确完整地理解Java语言的语法、语义规则;掌握Java语言的数据类型、表达式及控制流程;运用面向对象程序设计思想,正确的阅读、分析程序和设计程序,掌握面向对象程序设计方法,提高程序设计能力,以适应计算机学科不断发展的需要。 通过系统地上机练习,力求能够达到以下三个目的: 1、课堂讲授内容的理解,从计算机语言的基本概念、程序设计的基本方法、语法规则等方面加深理解,打好程序设计、开发软件的良好基础。 2、上机实验中,提高学生对Java语言各部分内容的综合使用能力,逐步掌握Java 语言程序设计的规律与技巧。 3、在对Java程序的调试过程中,提高学生分析程序中出现的错误和排除这些错误的能力。 二、上机实验前的准备工作 在上机实验前应事先做好准备工作,以提高上机实验的效率,准备工作至少应包括: 1、复习和掌握与本实验有关的教学内容; 2、实验前对每次上机需要完成的题目进行认真的分析,列出实验具体步骤; 3、写出符合题目要求的程序清单,准备出调试程序使用的数据,以便提高上机实验的效率。 4、对运行中可能出现的问题事先作出估计,对程序中自己有疑问的地方,应作出记号,以便在上机时给予注意。 三、上机实验的步骤 上机实验一般应包括以下几个步骤: 1、进入Java工作环境(例如命令提示符或MyEclipse集成开发环境)。 2、配置JDK的环境变量。 3、编译并调试Java源程序。如果在编译过程中发现错误,屏幕上会出现“出错信息”,根据提示找到出错位置和原因,加以改正。再进行编译……,如此反复直到程序顺利通过编译为止。

学号-姓名-Java语言实验报告四

《Java语言与面向对象程序设计基础》课程 实验报告四 姓名:xxx 学号:20097110080xxx 实验题1 [实验要求] ?掌握Java IO流处理 ?掌握文件操作 ?掌握多线程程序设计 [实验程序] import java.io.*; public class Test4_1 { public static void main(String[] args) { try { File myDir=new File("C:/Test"); if ( !myDir.exists()) myDir.mkdir(); else if ( !myDir.isDirectory()) { System.err.println(" 'C:/Test' is not a directory"); return; } File f=new File(myDir,"a.txt"); f.createNewFile(); FileWriter out = new FileWriter(f); for (int i=0;i<26;i++){ out.write((char)('A'+i)); } out.close(); } catch (IOException e) { System.out.println(e); } } } [运行结果]

[实验结论与收获]

掌握文件及文件夹的创建及文件的写入。 实验题2 [实验要求] 将实验1题中新建的"a.txt"文件内容复制到"C:\Test\Ex"目录中"b.txt"文件中。[实验程序] import java.io.*; public class Test4_2 { public static void main(String[] args) { try { File myDir=new File("C:/Test/Ex"); if ( !myDir.exists()) myDir.mkdir(); else if ( !myDir.isDirectory()) { System.err.println(myDir+ " is not a directory"); return; } File myFile =new File(myDir,"b.txt"); myFile.createNewFile(); FileReader in= new FileReader("C:/Test/a.txt"); BufferedReader bufIn = new BufferedReader(in); FileWriter out= new FileWriter (myFile); BufferedWriter bufOut= new BufferedWriter(out); String line; line = bufIn.readLine(); //System.out.println(line); while ( line!= null ) { System.out.println(line); bufOut.write(line,0,line.length()); bufOut.newLine(); line = bufIn.readLine(); } bufIn.close(); bufOut.close(); } catch (IOException e) { System.out.println(e); } } } [运行结果]

JAVA洗衣机仿真程序实验报告及代码

一.实验题目:用java编写洗衣机仿真程序 二.实验目的: 1.熟悉并掌握洗衣机(全自动)的工作原理和运行过程. 2.学会软件工程设计中的一系列分析研究,对需求分析,可行性研究,软件 模型等有一定的了解,为以后的软件设计工作打下良好的基础。 3.通过的洗衣机仿真系统的编写与学习,加深了对Java这门语言的了解, 对其中的类的设计,类之间的关系,界面的设计(按钮及布局的设计)有了更深的了解与体会,为Java的学习做好准备工作。 三.实验要求: 了解全自动洗衣机的简单工作过程及实现。其中包括,洗衣的方式(标准或是柔和)、洗衣中的水位选择(高水位洗衣、低水位洗衣等)等方面需要在人们将衣服放入洗衣机洗衣服之后手动来选择;并且是必须选择的洗衣参数。当选择了一种洗衣参数后,按下启动按钮,洗衣机就会自动完成洗衣服的整个过程。在满足基本功能以外,还需要尽量考虑外观、造型、节水等方面的设计,符合人机界面的基本要求。 四.实验分析: 1.洗衣机需求分析: 标准清洗:浸泡/清洗/甩干 快速清洗:清洗/甩干 大件衣物(冬衣,牛仔类):浸泡(温水,延长浸泡/清洗(延长筒转时间)/甩干床单,窗帘类:浸泡(温水)/清洗 根据衣物的不同用按钮选择上述洗衣模式即可.其中甩干可选可不选. 尽量设计了一个节水功能,可以实现水回收.在无需甩干时水不流走,余下的水可做其他用途,实现节水. 2.主要的类实现 (1).继承类 (2).包括进水,排水,洗涤,漂洗,甩干等成员函数 (3).水位的选择通过参数传递决定进水函数 (4).其余通过调用筒的转动函数(run)并通过一定的参数控制实现

3.程序设计步骤 ≡≥选择水温 ≡≥放入衣物 ≡≥选择洗衣模式 ≡≥脱水 ≡≥排水 ≡≥烘干 ≡≥关闭 五.设计与实现过程: 1.洗衣机类的部分实现: import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Washing extends JApplet{ private JFrame jf; private JButton jb1,jb2,jb3,jb4,jb5,jb6; public static void main(String[] args){ Washing flowTest=new Washing(); flowTest.setSize(270,160); flowTest.go(); //flowTest.show(true); } public void go(){ jf=new JFrame("洗衣机功能模拟器"); Container cp=jf.getContentPane(); cp.setLayout(null); jb1=new JButton("入水"); jb2=new JButton("加衣"); jb3=new JButton("脱水"); jb4=new JButton("排水"); jb5=new JButton("烘干"); jb6=new JButton("关闭"); // Container cp=jf.getContentPane(); // cp.setLayout(new BorderLayout()); jb1.setBounds(10, 10, 80, 80); cp.add(jb1); //指定组件追加到这个容器的末尾。这是一个方便的方法为addImpl。 //注意:如果一个组件已被添加到一个已显示的容器,验证必须在该容器调用,以显示新的组件。如果正在添加多个组件,你可以通过调用验证只有一次,已添加的所有组件后提高效率。 jb2.setBounds(110, 10, 80, 80); cp.add(jb2);

JAVA试验

《Java程序设计》课程实验指导书

实验一Java开发环境的安装与配置,熟悉Java程序 结构 一、实验目的: 1.掌握JDK的安装步骤。 2.理解环境变量PATH,CLASSPATH的作用,以及它们的设置方法。 3.熟悉Eclipse编辑环境,编写简单的Application程序,并编译和执行。 二、实验内容: 熟悉JDK的安装和配置,学习如何编写并运行简单的Application程序和Applet程序(能输出一条简单的问候信息); 三、实验要求: 1.能正确地安装JDK 2.熟悉环境变量PATH,CLASSPATH设置方法,熟悉编辑环境 3.调试程序、编译,运行后得到正确的结果 4.写出实验报告,要求记录编译和执行Java程序当中的系统错误信息提示, 并给出解决办法。 四、实验步骤: 1.从https://www.wendangku.net/doc/2c10711032.html,上下载最新版本的JDK,并安装。 2.设置环境变量PATH,CLASSPATH,使得Java程序能正确编译和执行。 3.编写一个HelloWorld.java程序, (1)在主方法static public void main(String[]args)中调用System. out.println()方法,使程序输出一条问候信息; (2)编译运行程序,观察运行情况和输出结果。(使用JDK环境,调用 javac.exe和java.exe编译和执行程序)

实验二Java语言基础 一、实验目的: 熟悉Java基本语法,基本数据类型,各种运算符及表达式的使用,掌握运算符优先级,熟悉使用Java的选择语句,循环语句。 二、实验内容: 1.编写Java Application程序,输出1900年到2000年之间的所有润年。 (闰年的判断条件:能被4整除且不能被100整除,或能被400整除); 2.编写Java Appet程序打印“水仙花”数(它的个、十、百位数字的立 方的和等于该数本身,如:153=1^3+5^3+3^3) 3.编写Java Application程序,分别用do-while和for循环计算 1+1/2!+1/3!+1/4!...的前20项和 三、实验要求: 1.正确使用Java语言的选择语句,循环语句; 2.调试程序、编译,运行后得到正确的结果 3.写出实验报告。要求记录编译和执行Java程序当中的系统错误信息提成 示,并给出解决办法。 四、实验步骤: 1.编写主类; 2.在static public void main(String[]args)方法中加入实现要求功能 的代码,主要步骤如下: (第一题)从1900到2000循环,按照闰年的判断条件是则输出1900年到2000年之间的所有润年。 (第二题)编写Java Applet,在public void paint(Graphics g)方法中加入实现要求功能的代码,主要步骤是:从100到1000循环,判断每个 数是否符合水仙花数的特点,是则输出之。 3.编译运行程序,观察输出结果是否正确。 五、自做实验 1.输出100以内的所有素数。

Java课程设计实验报告及全部源码流程图

课程设计 一、实验目的 1.加深对课堂讲授内容的理解,掌握解决实际应用问题时所应具有的查阅资料、技术标准和规范,以及软件编程、调试等能力,掌握面向对象的编程思想及Java语言程序设计的规律与技巧,为进一步学习web应用开发及今后从事专业工作打下基础。 2. 使用本学期学习的Java SE技术(也可以使用课堂教学中没有学习过的Java技术,但是应当以Java SE技术为主)完成多功能日历GUI程序的设计,使之具有如下基本功能:一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。 3.在完成基本功能的基础上发挥自己的想象力与创造力,使程序凸显出与众不同的特点与功能,形成本小组的特性色。 二、实验要求 1.问题描述准确、规范。 2.程序结构合理,调试数据准确、有代表性.。 3.界面布局整齐,人机交互方便。 4.输出结果正确。 5.正确撰写实验报告。 三、实验内容 编写一个GUI程序实现日历的功能。一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期以及当前农历,可以为每页日历选择背景图片。可以实现显示时钟,时钟能进行整点报

时。可以实现备忘记事功能,能在每天添加、修改、删除记事等操作。 四、实验步骤 1.在上机实验前,小组成员进行选题讨论,确定小组感兴趣而又伸缩性强的题目多功能日历。 2.在第一次上机实验时讨论分工,分工明确之后,分头合作进行。 3.各成员完成自己的任务后,最后进行统筹合并,以及程序最后的优化。 4. 根据实验结果,写出合肥工业大学实验报告。实验报告应当包括:实验内容,程序流程图,类结构,程序清单,运行结果,以及通过上机取得的经验。 5.详细的上机实验步骤见任务分工及程序设计进度表。 五、实验结果 经过小组成员的共同努力,最终我们小组设计的多功能日历程序能够实现实验的基本要求——一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。另外,在完成基本要求的基础上,我们增添了显示农历、显示时钟、添加备忘录、修改备忘录等功能。整体程序运行流畅、功能齐全、符合操作习惯。 下面是程序运行效果截图: 日历主界面(可以实现每个月的日历,可以按年或按月前后翻动,能够显示当前日期,并能够选择背景图片):

Java语言程序设计上机实验指导手册

《Java语言程序设计》 上机实验指导手册 实验一 Java环境演练 【目的】 ①安装并配置Java运行开发环境; ②掌握开发Java应用程序的3个步骤:编写源文件、编译源文件和运行应用程序; ③学习同时编译多个Java源文件。 【内容】 1.一个简单的应用程序 ?实验要求: 编写一个简单的Java应用程序,该程序在命令行窗口输出两行文字:“你好,很高兴学习Java”和“We are students”。 ?程序运行效果示例: 程序运行效果如下图所示: ?程序模板: Hello.java public class Hello { public static void main (String args[ ]) { 【代码1】//命令行窗口输出"你好,很高兴学习Java" A a=new A(); a.fA(); } } class A { void fA() { 【代码2】//命令行窗口输出"We are students" } } ?实验后的练习: 1.编译器怎样提示丢失大括号的错误? 2.编译器怎样提示语句丢失分号的错误? 3.编译器怎样提示将System写成system这一错误? 4.编译器怎样提示将String写成string这一错误? 2.联合编译 ?实验要求: 编写4个源文件:Hello.java、A.java、B.java和C.java,每个源文件只有一个类,Hello.java是一个应用程序(含有main方法),使用了A、B和C类。将4个源 文件保存到同一目录中,例如:C:\100,然后编译Hello.java。

?程序模板: 模板1:Hello.java public class MainClass { public static void main (String args[ ]) { 【代码1】 //命令行窗口输出"你好,只需编译我" A a=new A(); a.fA(); B b=new B(); b.fB(); } } 模板2 :A.java public class A { void fA() { 【代码2】 //命令行窗口输出"I am A" } } 模板3 :B.java public class B { void fB() { 【代码3】 //命令行窗口输出"I am B" } } 模板4 :C.java public class C { void fC() { 【代码4】 //命令行窗口输出"I am C" } } ?实验后的练习: 5.将Hello.java编译通过后,不断修改A.java源文件中的代码,比如,在命令行窗口输出“我是A类”或“我被修改了”。要求每次修改A.java源文件后,

JAVA实验四异常处理

实验四异常处理 实验目的 1、掌握异常的概念和Java 异常处理机制。 2、掌握异常的定义、抛出和捕捉处理。 实验内容与要求 1、仔细读下面的JAVA语言源程序,自己给出程序的运行结果 import java.io.*; public class Ch31 { public static void main(String args[])throws IOException { int[] ko=new int[15]; int n,a; String x; BufferedReader keyin=new BufferedReader(new InputStreamReader(System.in)); System.out.print("Enter an integer:"); x=keyin.readLine(); n=Integer.parseInt(x); try { a=110/n; ko[15]=100; System.out.println("此描述无法执行!"); } catch(ArithmeticException e){ System.out.println("除数为0的错误"); } catch(ArrayIndexOutOfBoundsException f) { System.out.println("数组索引值大于数组长度的错误!"); } System.out.println("执行完catch的描述!!!"); } } 2.运行下面的程序,自己给出程序的运行结果。 import java.io.*; public class Ch32{ public Ch32(){ try{ int a[] = new int[2]; a[4] = 3; System.out.println("After handling exception return here?"); }catch(IndexOutOfBoundsException e){ System.err.println("exception msg:" + e.getMessage()); System.err.println("exception string:" + e.toString()); e.printStackTrace(); }finally{

Java实验报告及其源代码 Java基本程序设计

实验1 Java基本程序设计 一、实验目的 1.掌握设置Java 程序运行环境的方法; 2.了解Java 的数据类型; 3.掌握变量的声明方式; 4.理解运算符的优先级; 5.掌握Java 基本数据类型、运算符与表达式; 6.掌握Java基本输入输出方法。 二、实验环境 1.PC微机; 2.DOS操作系统或 Windows 操作系统; 3.Java sdk程序开发环境、eclipse集成环境。 三、实验内容 1.货币转换 在控制台下输入任意一个美元数值,将其转换成等价的人民币数值(假设100美元=636.99人民币)后在消息框中输出。 2.输出两个数的较大值 分别在两个对话框中输入两个任意的数值,显示其较大的数值。 四、实验步骤 1.新建Java项目,并创建package ; 2.创建两个java类文件,分别命名为 CurrencyConversion.java 和 valueCompare.java ; 3.在 CurrencyConversion.java 中写入代码: package FirstExperiment; import java.util.Scanner;

import javax.swing.JOptionPane; public class CurrencyConversion { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("Please input the money(dollar): "); Scanner input = new Scanner(System.in); double moneyOfDollar = input.nextDouble(); double moneyOfRMB = moneyOfDollar * 6.3699 ; String output = "$" + moneyOfDollar + "=" + "¥" + moneyOfRMB ; JOptionPane.showMessageDialog(null, output); } } 4.在 valueCompare.java 中写入代码: package FirstExperiment; import javax.swing.JOptionPane; public class valueCompare { public static void main(String[] args) { String stringNumber1 = JOptionPane.showInputDialog("Please input the first number") ; double number1 = Double.parseDouble(stringNumber1) ; String stringNumber2 = JOptionPane.showInputDialog("Please input the second number") ; double number2 = Double.parseDouble(stringNumber2); if(number1 > number2) JOptionPane.showMessageDialog(null, number1 + " is bigger"); else

Java实验四 -实验报告

实验四类和对象;类的继承和派生;多态性; 接口;构造器应用 一、实验目的 1、掌握类与对象的关系; 2、掌握类的定义; 3、掌握对象的声明及使用; 4、掌握构造方法的概念及调用时机; 5、掌握构造方法的重载; 6、掌握匿名对象的使用。 二、实验学时 2学时 三、实验类型 验证性实验 四、实验需求 1、硬件 每位学生配备计算机一台 2、软件 Windows 7操作系统,JDK,eclipse,MySQL 3、网络 无 4、工具 无 五、实验理论与预备知识 1、类与对象的关系; 2、类的定义; 3、对象的声明及使用; 4、构造方法的概念及调用时机; 5、构造方法的重载; 6、匿名对象的使用。 六、实验内容与结果 1、编写一个应用程序,该程序中有3个类:Trangle、Leder和Circle,分别用来刻画“三角形”、“梯 形”和“圆形”。

//三角形类 class Trangle { double sidea,sideb,sidec,sjxzc,sjxmj; boolean boo; public Trangle(double a,double b,double c) { sidea=a; sideb=b; sidec=c; if(a+b>c && a+c>b && b+c>a) { boo=true; } else { boo=false; } } double getlength() { double length; length=sidea+sideb+sidec; return length; } public double getarea() { if(boo) { double area; double p=(sidea+sideb+sidec)/2.0; area=Math.sqrt(p*(p-sidea)*(p-sideb)*(p-sidec)); return area; } else { System.out.println("不是一个三角形,不能计算面积"); return 0; } } } //梯形类 class Lader

JAVA实验报告一

Java语言程序设计实验报告一 班级:姓名:学号: 一、实验教学目的与基本要求 Java程序设计的实验是Java程序设计课程重要的实践教学环节。实验的目的不仅仅是验证理论知识,更重要的是通过上机加强学生的动手能力,掌握常用Java开发环境的使用方法,培养学生分析问题、解决问题、应用知识的能力和创新精神。充分放手让学生自行设计、自主调试,真正培养学生的实践动手能力,全面提高学生的综合素质。 本课程是一门程序设计语言课程,通过本课程的学习,学生能够掌握Java 语言程序的基本特点、基本编程方法和基本开发技巧,培养学生阅读、分析、设计和调试Java语言的能力,并具备一定的面向对象程序设计思想。 本课程的主要任务是在已学习的编程语言基础上,讲述Java语言的数据结构和语法规则;基本控制结构和编程技巧;Java语言面向对象的特点、编程方法和程序设计思路;Java语言的GUI程序和文件及I/O流的编程方法;能够正确配置Java开发环境,并使用相关的编辑、编译、调试、运行命令。 (1)掌握Java语言的编程技巧,能够独立进行面向对象的开发能力。 (2)具有根据编程需求独立查询Java类库文档及相关资料,完成系统的能力。 (3)具有分析、寻找和排除程序中常见问题的能力。

二、实验内容与收获 (1)Java的安装与配置。熟悉语言环境及简单程序设计的使用练习,正确配置Java 开发环境(Eclipse 集成开发环境的安装、配置与使用) a)安装JDK Sun公司为所有的Java程序员提供了一套免费的Java开发和运行环境。 可以通过IE或Netscape浏览器浏览网址:https://www.wendangku.net/doc/2c10711032.html,/j2se,根据提示可以下载支持Microsoft Windows操作系统的jdk-1_5_0-windows-i586.exe到本地硬盘。 安装的时候可以选择安装到任意的硬盘驱动器上,例如安装到D:\jdk1.5.0目录下,如图1-2。正确安装后,在JDK目录下有bin、demo、lib、jre等子目录,如图1-3,其中bin目录保存了javac、java、appletviewer等命令文件,demo目录保存了许多java的例子,lib目录保存了Java的类库文件,jre目录保存的是Java的运行时环境(JRE)。 图1-2

《java程序设计》实验指导书(完整)

实验一 Java实验环境的建立一、实验目的 1.掌握Java编程环境的搭建过程; 2.掌握Jcreator pro软件的使用方法; 3.能使用Java doc文档。 二、实验内容 1.下载并安装,配置JDK环境变量; 2.下载Javadoc压缩包并解压在JDK安装路径下; 3.下载Jcreator pro 并安装和配置使用环境; 4.使用实验环境运行书中实例代码,在屏幕上输出“Hello Java”字符串。 ①Java application程序代码如下: public class HelloJava { public static void main(String args[]) { "Hello Java!"); } } ②Java applet程序代码如下: import .*; public class Hello extends { public void paint(Graphics g) { ("Hello!",30,30); } } 三、试验要求 1、预习试验内容并写出上机报告。 2、实验中出现的问题及实验体会。

一、实验目的: 1.输入、输出操作实现原理和方法 2.掌握程序流程控制的实现方法 3.掌握数组的定义和操作方法 二、实验内容 1.计算 Result=1!+2!+3!+ (10) public class TestJieC{ p ublic static void main(String arg[]){ long result=1; for(int i=1;i<=10;i++) { result=i*result; result+=result; } " "+result); } } 2.计算1---50之间所有素数的和。 public class Test{ p ublic static void main(String args[]){ int count = 0; for(int i = 2;i<=50;i++){ for(int j = 2;j<=i;j++){ if(i>j){ if(i%j == 0){ count++; } } } if(count==0){

实验四Java语言解决算法问题

实验四Java语言解决算法问题(4学时) 一、实验目的 (1)熟悉Java图形用户界面GUI类; (2)学习处理ActionEvent事件; (3)掌握事件源、监视器、处理事件的接口这三个概念; (4)使用Java语言解决算法问题。 二、实验学时:2学时 三、实验要求 (1)编写一个训练算术能力的测试软件; (2)Teacher类对象给出题目,判断答案是否正确;ComputerFrame类对象提供题目GUI 视图;MainClass作为主类。 四、实验原理 (1)事件源指的是能够产生事件的对象,如文本框、按钮等; (2)监视器指的是对事件源进行监视的对象,以便对发生的事件进行处理; (3)Java语言使用接口回调技术设计了它的处理事件模式。事件源增加监视的方法addXXXListener(XXXListener listener)中的参数是一个接口,listener可以引 用任何实现了该接口的类所创建的对象,当事件源发生事件时,接口listener立 刻回调被类实现的接口中的某个方法。 五、实验内容 课堂实验任务:请按模板要求,将【代码】替换为Java程序代码。 1.题目一算术测试 模板代码:Teacher.java public class Teacher { int numberOne,numberTwo; String operator=""; boolean right; public int giveNumberOne(int n) { numberOne=(int)(Math.random()*n)+1; return numberOne; } public int giveNumberT wo(int n) { numberTwo=(int)(Math.random()*n)+1; return numberTwo; } public String giveOperator() { double d=Math.random(); if(d>=0.5) operator="+"; else operator="-"; return operator; } public boolean getRight(int answer) { if(operator.equals("+")) { if(answer==numberOne+numberTwo) right=true; else right=false; } else if(operator.equals("-"))

java实验报告(全)

学生学号0120910680526 实验课成绩 武汉理工大学 学生实验报告书 实验课程名称软件工具与环境 开课学院计算机科学与技术学院 指导老师姓名付国江 学生姓名 学生专业班级软件工程0905 2011— 2012学年第1学期

实验课程名称: java语言程序设计 实验项目名称JDK安装与配置、简单的程序编写实验成绩 实验者专业班级软件0905 组别 同组者实验日期年月日第一部分:实验分析与设计(可加页) 一、实验内容描述(问题域描述) 实验目的: 熟悉JDK的安装、配置和使用,掌握Java Application程序的基本结构。 实验内容: (1)安装JDK,并练习设置JAVA_HOME、path和classpath环境变量; (2)编写一个打印出”HelloWorld”的Java Application程序,并编译运行; 二、实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或 者算法描述) (1)jdk的安装 (2)”HelloWorld”的编译运行 三、主要仪器设备及耗材 个人计算机,jdk 第二部分:实验调试与结果分析(可加页) 一、调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)(1)jdk的安装步骤: 1:双击jdk-6u10-windows-i586.exe安装文件 2:点击接受 3:点击下一步 4:选择JRE路径 5:点击下一步 6:完成 配置环境变量: 1:右键我的电脑,找到属性,高级中的环境变量 2:点击环境变量:3:系统变量针对所有用户,这里找到系统变量中的Path 点击编辑: 3:系统变量针对所有用户,这里找到系统变量中的Path 点击编辑: 4:在变量值末尾打上分号分隔,加入JDK库路径。 点击确定,完成! 5:变量配置好后。 6:测试环境是否好 在控制台中 输入javac指令,能显示参数,说明成功。

实验四 Java 布局管理和 java的事件

Java 实验日志 指导教师实验时间:2010 年月日学院计算机专业计算机科学与技术 班级3110802 学号08600201 姓名张梦实验室S 实验题目: Java 布局管理和 java的事件 实验目的: 1. 掌握 Java语言中几种布局管理器。 2. 能熟练综合运用这几种布局管理器设计复杂的图形界面。 3. 理解事件的概念。 4. 能熟练使用 Java 提供的事件处理方法,进行符合要求的事件处理 实验要求: 结合多种布局管理器设计一个复杂的图形界面。 掌握 Java提供的各种事件接口,并能灵活使用。 实验主要步骤: 1.用BorderLayout和GridLayout布局管理器设计一个如下图所示的图形界 面: 2.在记事本编辑如下源程序: import java.awt.*; public class Ex9_1 { private Frame demoframe; private Button b1; private Button b2; private Button b3; private Button b4; private Panel cpanel; private Button b[]; public void Init() { demoframe =new Frame("布局管理器"); b1 =new Button("确定");

demoframe.add(b1,"East"); b2 =new Button("取消"); demoframe.add(b2,"West"); b3 =new Button("Hello,"); demoframe.add(b3,"North"); b4 =new Button("Java!......"); demoframe.add(b4,"South"); cpanel =new Panel(); cpanel.setLayout(new GridLayout(3,3,7,7)); demoframe.add(cpanel,"Center"); b =new Button[9]; for(int i=0;i<9;i++) { b[i] =new Button(); b[i].setSize(50,50); b[i].setLabel(Integer.toString(i)); cpanel.add(b[i]); } demoframe.pack(); demoframe.setVisible(true); } public static void main(String[] args) { Ex9_1 demo =new Ex9_1(); demo.Init(); } } 3.保存程序Ex9_1.java,编译运行程序。理解BorderLayout和GridLayout 布局管理器的用法。 运行结果: 实验结果: 运行结果: 4.结合上述例子,试编写如下图所示的图形界面:

实验04 Java输入输出流报告

实验四 Java 输入输出流 1.实验目的 (1) 掌握输入输出流的总体结构; (2) 掌握流的概念; (3) 了解各种流(包括文件流、过滤流、对象的序列化、随机访问)的使用。2.实验内容 实验题1 编写一个Java Application程序,打印命令行输入的所有参数。 [基本要求] 编写完整程序。 运行结果: 代码如下: import java.util.Scanner; public class CommandOutPut { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("Please input :"); Scanner in = new Scanner(System.in);

String str = in.nextLine(); System.out.println("The output results :"); System.out.println(str); in.close(); } } 实验题2 通过键盘输入路径,搜索指定路径下的全部内容。 运行结果: 代码如下: package https://www.wendangku.net/doc/2c10711032.html,.output; import java.io.File; import java.io.FileInputStream; import java.io.IOException; public class Output { /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { // TODO Auto-generated method stub String fileName = "d:\\xxx.txt"; File file = new File(fileName); byte[] b=new byte[(int)file.length()]; FileInputStream out=new FileInputStream(file);

应用Java程序方案上机实验指导

Java程序设计上机实验指导 <内部资料) 学号: 姓名: 专业: 班级: 大连理工大学城市学院

前言 《Java程序设计》是软件工程专业和计算机科学与技术专业的一门重要专业基础课。本指导书结合课堂理论教案与上机实践教案,针对学生在上机操作时的盲目性, 由浅入深地详细描述实验步骤和实验过程,并提供形式多样的编程题目,直观生动,使学生在学习过程中遇到问题能够有的放矢,从而能够更好地提高编程能力。 本指导书的目的旨在加深学生对所学知识点的记忆和理解,每次实验后增设实践题目和课后上机练习,使学生通过思考和课后练习,能够熟练掌握Java 程序设计知识,加快学习效率,并灵活运用该语言进程工程的开发,提高编程的能力,做到快速入门。 由于编者水平和经验有限,疏漏之处在所难免,恳请读者不吝赐教。

目录

上机实验一: Java开发环境设置与简单程序编写 古人云,工欲善其事,必先利其器。没有编程开发的环境,一切都无从谈起。因此我们先学会安装和配置Java开发工具包。Java的开发过程需要编写源程序、编译生成字节码和运行三个部分,除了编写源程序可在任意的文本编辑器中完成外,编译和运行都需要在一定的环境下实现。 目前可供开发人员选择的Java语言开发环境很多,常用的Java开发包是JDK

相关文档