当前位置:文档之家› JAVA实验报告

JAVA实验报告

JAVA实验报告
JAVA实验报告

河北北方学院信息科学与工程学院

《Java程序设计》

实验报告

实验学期 2014 至 2015 学年第 2 学期学生所在系部信息科学与工程学院

年级 2012 专业班级电子三班

学生姓名冯洋学号 201242220 任课教师

实验成绩

实验七 GUI标准组件及事件处理

一、课程设计目的:

《面向对象程序设计》是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程后进行的一次较全面的综合练习。其目的在于通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力,提高学生的应用能力。

二、实验要求:

设计一个简单的文本编辑器,具有如下基本功能:

1)所见即所得的文本输入;

2)能方便地选中文本、复制、删除和插入文本;

3)具有一般编辑器所具有的查找和替换功能;

4)简单的排版,如设置字体和字号等。

三、课程设计说明:

1、需求分析:简单文本编辑器提供给用户基本的纯文本编辑功能,能够将用户录入的文本存储到本地磁盘中。能够读取磁盘中现有的纯文本文件,以及方便用户进行需要的编辑功能。文件操作能够实现新建、保存、打开文档等,编辑操作能过实现文本的剪贴、复制、粘贴等,格式操作能过实现字体设置、背景等,帮助操作能够实现关于主题的查看等功能

2、概要设计:

(一)其基本功能包括:

①基本的文本操作功能。包括新建,保存,打开,保存。

②基本的编辑功能。包括复制,剪贴,粘贴。

③基本的格式功能,字体。

④简单的帮助,关于主题。

(二)主要的组件包括:

①基本的Frame框架;

②菜单;

③打开文件对话框;

④保存文件对话框;

⑤颜色对话框;

⑥简单的帮助框架。

3、程序说明:

整个记事本分成:Jframe程序主体框架,Jmenu菜单栏、JtextArea文本输入区、PopupMenu 右键菜单、JscrollPane滚动条、FonDialog字体类等。

本程序中首先定义一个Java Yang类继承JFrame作为最底层容器。要想记事本完成需求分析中相应的功能,还必须添加事件监听器。事件监听器不仅要添加在菜单栏和内容输入区,还需加在容器中。本程序中ActListener实现了ActionListener接口,用来监听并处理所有菜单项和内容输入区为事件源的事件。另外,还用来WindowListener来监听处理容器关闭触发的事件,WindowListener继承了WindowsAdapter类并覆盖了WindowsClosing方法。

四、程序调试:

1、调试分析:

(1)关于打开、保存和退出我运用了文件对话框, openFileDialog、saveFileDialog和

System.exit()以及文件输入输出流来实现,新建功能我选用了 textArea.setText()方法.

(2)对于剪贴,粘贴,复制的实现则用

复制

String text = textArea.getSelectedText();

StringSelection selection= new StringSelection(text);

clipboard.setContents(selection,null);

粘贴

Transferable contents = clipboard.getContents(this);

if(contents==null) return;

String text;

text="";

try

{ text = (String)contents.getTransferData(DataFlavor.stringFlavor);

}

catch(Exception ex)

{

}

textArea.replaceRange(text,textArea.getSelectionStart(),textArea.getSelectionEn d());

(3)至于字体功能的实现,则是新建了一个字体类,在这个类中设置了字形,字体以及大小并且有字体样式可预览用户当前的设置。FlowLayout()设置布局,setSize()设置大小add ()添加需要用的原件。

添加监听器获取选择用户的字号大小

public void itemStateChanged(ItemEvent event) {

size = (new Integer((String) event.getItem()).intValue());

setCustomFont(new Font(name, type, size));}

设置字体

private void setCustomFont(Font customFont) {

this.customFont = customFont;

area.setFont(customFont);

area.revalidate();}

获取字体

public Font getCustomFont() {

return (this.customFont);}

附录:源代码

//记事本主体类

import java.awt.event.*;

import java.awt.*;

import java.io.*;

import java.awt.datatransfer.*;

import javax.swing.*;

import java.awt.print.PrinterException;

public class MiniNote extends JFrame implements ActionListener {

JMenuBar menuBar = new JMenuBar();

JMenu file = new JMenu("文件(F)"), //菜单

edit = new JMenu("编辑(E)"),

format = new JMenu("格式(O)"),

view = new JMenu("查看(V)"),

help = new JMenu("帮助(H)");

JMenuItem[] menuItem ={ //菜单下拉项

new JMenuItem("新建(N)"),

new JMenuItem("打开(O)"),

new JMenuItem("保存(S)"),

new JMenuItem("打印(P)"),

new JMenuItem("全选(A)"),

new JMenuItem("复制(C)"),

new JMenuItem("剪切(T)"),

new JMenuItem("粘贴(P)"),

new JMenuItem("自动换行(W)"),

new JMenuItem("字体(F)"),

new JMenuItem("状态栏(S)"),

new JMenuItem("帮助主题(H)"),

new JMenuItem("关于记事本(A)"),

new JMenuItem("页面设置(U)"),

new JMenuItem("退出(X)"),

new JMenuItem("查找(F)"),

new JMenuItem("查找下一个(N)"),

new JMenuItem("替换(R)")

};

JPopupMenu popupMenu = new JPopupMenu(); ;//右键菜单

JMenuItem [] menuItem1 ={

new JMenuItem("撤销(Z)"),

new JMenuItem("剪切(X)"),

new JMenuItem("复制(C)"),

new JMenuItem("粘贴(V)"),

new JMenuItem("删除(D)"),

new JMenuItem("全选(A)"),

};

private JTextArea textArea ; //文本区域

private JScrollPane js ; //滚动条

private JPanel jp ;

private FileDialog openFileDialog ; //打开保存对话框

private FileDialog saveFileDialog ;

private Toolkit toolKit; //获取默认工具包。

private Clipboard clipboard; //获取系统剪切板

private String fileName; //设置默认的文件名

/**

* MiniEdit 方法定义

*

* 实现记事本初始化

*

**/

public MiniNote() {

fileName = "无标题";

toolKit = Toolkit.getDefaultToolkit();

clipboard = toolKit.getSystemClipboard();

textArea =new JTextArea();

js = new JScrollPane(textArea);

jp = new JPanel();

openFileDialog = new FileDialog(this,"打开",FileDialog.LOAD);

saveFileDialog = new FileDialog(this,"另存为",FileDialog.SAVE);

js.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); jp.setLayout(new GridLayout(1,1));

jp.add(js);

textArea.setComponentPopupMenu(popupMenu); //文本区域添加右键

textArea.add(popupMenu);

add(jp);

setTitle("迷你记事本");

setFont(new Font("Times New Roman",Font.PLAIN,15));

setBackground(Color.white);

setSize(800,600);

setJMenuBar(menuBar);

menuBar.add(file);

menuBar.add(edit);

menuBar.add(format);

menuBar.add(view);

menuBar.add(help);

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

{

file.add(menuItem[i]);

edit.add(menuItem[i+4]);

}

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

{

edit.add(menuItem[i+15]);

}

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

{

format.add(menuItem[i+8]);

help.add(menuItem[i+11]);

}

view.add(menuItem[10]);

file.add(menuItem[14]);

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

{

popupMenu.add(menuItem1[i]);

}

//窗口监听

addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ e.getWindow().dispose();

System.exit(0);

}

});

//注册各个菜单项的事件监听器

for(int i=0;i

{

menuItem[i].addActionListener(this);

}

for(int i=0;i

{

menuItem1[i].addActionListener(this);

}

}

/**

* actionPerformed 方法定义

*

* 动作触发实现

*

**/

public void actionPerformed(ActionEvent e) {

Object eventSource = e.getSource();

if(eventSource == menuItem[0]) //新建动作

{

textArea.setText("");

}

else if(eventSource == menuItem[1])//打开动作

{

openFileDialog.setVisible(true);

fileName = openFileDialog.getDirectory()+openFileDialog.getFile();

if(fileName != null)

{

openFile(fileName);

}

}

else if(eventSource ==menuItem[2])//保存动作

{

saveFileDialog.setVisible(true);

fileName = saveFileDialog.getDirectory()+saveFileDialog.getFile(); if(fileName !=null)

{

writeFile(fileName);

}

}

else if(eventSource==menuItem[14])//退出动作

{

System.exit(0);

}

else if(eventSource == menuItem[4]||eventSource == menuItem1[5]) //全选动

{

textArea.selectAll();

}

else if(eventSource == menuItem[5]||eventSource == menuItem1[2]) //复制动

{

String text = textArea.getSelectedText();

StringSelection selection= new StringSelection(text);

clipboard.setContents(selection,null);

}

else if(eventSource == menuItem[6]||eventSource == menuItem1[1])//剪切动作 {

String text = textArea.getSelectedText();

StringSelection selection = new StringSelection(text);

clipboard.setContents(selection,null);

textArea.replaceRange("", textArea.getSelectionStart(),

textArea.getSelectionEnd());

}

else if(eventSource == menuItem[7]||eventSource == menuItem1[3])//粘贴动作 {

Transferable contents = clipboard.getContents(this);

if(contents==null) return;

String text;

text="";

try

{

text =

(String)contents.getTransferData(DataFlavor.stringFlavor);

}

catch(Exception ex)

{

}

textArea.replaceRange(text,

textArea.getSelectionStart(),textArea.getSelectionEnd());

}

else if(eventSource == menuItem[8]) //自动换行

{

if (textArea.getLineWrap()) textArea.setLineWrap(false);

else textArea.setLineWrap(true);

}

else if(eventSource == menuItem[9]) //字体

{//实例化字体类

FontDialog fontdialog = new FontDialog(new JFrame(),"字体",true);

textArea.setFont(fontdialog.showFontDialog()); //设置字体 }

else if(eventSource == menuItem[11]) //帮助

{

try

{

String filePath = "C:/WINDOWS/Help/notepad.hlp";

Runtime.getRuntime().exec("cmd.exe /c "+filePath);

}

catch(Exception ee)

{

JOptionPane.showMessageDialog(this,"打开系统的记事本帮助文件出

错!","错误信息",https://www.doczj.com/doc/2418035048.html,RMATION_MESSAGE);

}

}

else if(eventSource == menuItem[12]) //关于记事本

{

String help = "记事本版本1.0\n操作系统:WIN 8 \n编译器:eclipse\n 版权"

+ "所有: ESTON YANG \n最终解释权归本人所有"

+ "" +

"\nBuild By 冯洋"

+ "\n课程设计:JAVA";

JOptionPane.showConfirmDialog(null, help, "关于记事本",

JOptionPane.DEFAULT_OPTION, https://www.doczj.com/doc/2418035048.html,RMATION_MESSAGE);

}

else if(eventSource == menuItem[15]||eventSource == menuItem[16]) //查找下一个

{

search();

}

else if(eventSource == menuItem[17]) //替换

{

substitude();

}

else if(eventSource == menuItem[3]) //打印

{

try

{

textArea.print();

}

catch (PrinterException e1)

{

e1.printStackTrace();

}

}

}

/**

* openFile方法

*

* 从TXT读进数据到记事本

*

**/

public void openFile(String fileName){

try

{

File file = new File(fileName);

FileReader readIn = new FileReader(file);

int size = (int)file.length();

int charsRead = 0;

char[] content = new char[size];

while(readIn.ready())

{

charsRead += readIn.read(content,charsRead,size-charsRead); }

readIn.close();

textArea.setText(new String(content,0,charsRead));

}

catch(Exception e)

{

System.out.println("Error opening file!");

}

}

/**

* saveFile方法

*

* 从记事本写进数据到TXT

*

**/

public void writeFile(String fileName){

try

{

File file = new File(fileName);

FileWriter write = new FileWriter(file);

write.write(textArea.getText());

write.close();

}

catch(Exception e)

{

System.out.println("Error closing file!");

}

}

/**

* substitude方法

*

* 实现替换功能

*

*/

public void substitude() {

final JDialog findDialog = new JDialog(this, "查找与替换", true);

Container con = findDialog.getContentPane();

con.setLayout(new FlowLayout(FlowLayout.LEFT));

JLabel searchContentLabel = new JLabel("查找内容(N) :");

JLabel replaceContentLabel = new JLabel("替换为(P) :");

final JTextField findText = new JTextField(30);

final JTextField replaceText = new JTextField(30);

final JCheckBox matchcase = new JCheckBox("区分大小写(C)");

ButtonGroup bGroup = new ButtonGroup();

final JRadioButton up = new JRadioButton("向上(U)");

final JRadioButton down = new JRadioButton("向下(D)");

down.setSelected(true); //默认向下搜索

bGroup.add(up);

bGroup.add(down);

JButton searchNext = new JButton("查找下一个(F)");

JButton replace = new JButton("替换(R)");

final JButton replaceAll = new JButton("全部替换(A)");

//"替换"按钮的事件处理

replace.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

if (replaceText.getText().length() == 0 &&

textArea.getSelectedText() != null)

textArea.replaceSelection("");

if (replaceText.getText().length() > 0 &&

textArea.getSelectedText() != null)

textArea.replaceSelection(replaceText.getText());

}

});

//"替换全部"按钮的事件处理

replaceAll.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

textArea.setCaretPosition(0); //将光标放到编辑区开头

int a = 0, b = 0, replaceCount = 0;

if (findText.getText().length() == 0)

{

JOptionPane.showMessageDialog(findDialog, "请填写查找内容!", "提示",JOptionPane.WARNING_MESSAGE);

findText.requestFocus(true);

return;

}

while (a > -1)

{

int FindStartPos = textArea.getCaretPosition();//获取光标位置 String str1, str2, str3, str4, strA, strB;

str1 = textArea.getText();

str2 = str1.toLowerCase();

str3 = findText.getText();

str4 = str3.toLowerCase();

if (matchcase.isSelected()) //大小写区分

{

strA = str1;

strB = str3;

}

else

{

strA = str2;

strB = str4;

}

if (up.isSelected()) //向上搜索

{

if (textArea.getSelectedText() == null)

{

a = https://www.doczj.com/doc/2418035048.html,stIndexOf(strB, FindStartPos - 1);

}

else

{

a = https://www.doczj.com/doc/2418035048.html,stIndexOf(strB, FindStartPos-

findText.getText().length() - 1);

}

}

else //向下搜索

{

if (textArea.getSelectedText() == null)

{

a = strA.indexOf(strB, FindStartPos);

}

else

{

a = strA.indexOf(strB, FindStartPos-

findText.getText().length() + 1);

}

}

if (a > -1)

{

if (up.isSelected())

{

textArea.setCaretPosition(a);

b = findText.getText().length();

textArea.select(a, a + b);

}

else if (down.isSelected())

{

textArea.setCaretPosition(a);

b = findText.getText().length();

textArea.select(a, a + b);

}

}

else

{

if (replaceCount == 0)

{

JOptionPane.showMessageDialog(findDialog,"找不到您查找的内容!", "记事本",https://www.doczj.com/doc/2418035048.html,RMATION_MESSAGE);

}

else

{

JOptionPane.showMessageDialog(findDialog, "成功替换"+ replaceCount + "个匹配内容!", "替换成功",https://www.doczj.com/doc/2418035048.html,RMATION_MESSAGE);

}

}

if (replaceText.getText().length() == 0&&

textArea.getSelectedText() != null) //用空字符代替选定内容 {

textArea.replaceSelection("");

replaceCount++;

}

if (replaceText.getText().length() > 0&&

textArea.getSelectedText() != null) //用指定字符代替选定内容

{

textArea.replaceSelection(replaceText.getText());

replaceCount++;

}

}//end while

}

});

//"查找下一个"按钮事件处理

searchNext.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

int a = 0, b = 0;

int FindStartPos = textArea.getCaretPosition();

String str1, str2, str3, str4, strA, strB;

str1 = textArea.getText();

str2 = str1.toLowerCase();

str3 = findText.getText();

str4 = str3.toLowerCase();

//"区分大小写"的CheckBox被选中

if (matchcase.isSelected()) //区分大小写

{

strA = str1;

strB = str3;

}

else //不区分大小写

{

strA = str2;

strB = str4;

}

if (up.isSelected()) //向上搜索

{

if (textArea.getSelectedText() == null)

{

a = https://www.doczj.com/doc/2418035048.html,stIndexOf(strB, FindStartPos - 1);

}

else

{

a = https://www.doczj.com/doc/2418035048.html,stIndexOf(strB, FindStartPos -

findText.getText().length() - 1);

}

}

else if (down.isSelected())

{

if (textArea.getSelectedText() == null)

{

a = strA.indexOf(strB, FindStartPos);

}

else

{

a = strA.indexOf(strB, FindStartPos - findText.getText().length() + 1);

}

}

if (a > -1)

{

if (up.isSelected())

{

textArea.setCaretPosition(a);

b = findText.getText().length();

textArea.select(a, a + b);

}

else if (down.isSelected())

{

textArea.setCaretPosition(a);

b = findText.getText().length();

textArea.select(a, a + b);

}

}

else

{

JOptionPane.showMessageDialog(null, "找不到您查找的内容!", "记事本", https://www.doczj.com/doc/2418035048.html,RMATION_MESSAGE);

}

}

});

//"取消"按钮及事件处理

JButton cancel = new JButton("取消");

cancel.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

findDialog.dispose();

}

});

//创建"查找与替换"对话框的界面

JPanel bottomPanel = new JPanel();

JPanel centerPanel = new JPanel();

JPanel topPanel = new JPanel();

JPanel direction = new JPanel();

direction.setBorder(BorderFactory.createTitledBorder("方向")); direction.add(up);

direction.add(down);

JPanel replacePanel = new JPanel();

replacePanel.setLayout(new GridLayout(1, 2));

replacePanel.add(searchNext);

replacePanel.add(replace);

replacePanel.add(replaceAll);

replacePanel.add(cancel);

topPanel.add(searchContentLabel);

topPanel.add(findText);

centerPanel.add(replaceContentLabel);

centerPanel.add(replaceText);

centerPanel.add(replacePanel);

bottomPanel.add(matchcase);

bottomPanel.add(direction);

con.add(replacePanel);

con.add(topPanel);

con.add(centerPanel);

con.add(bottomPanel);

//设置"查找与替换"对话框的大小、可更改大小(否)、位置和可见性

findDialog.setSize(550, 240);

findDialog.setResizable(true);

findDialog.setLocation(230, 280);

findDialog.setVisible(true);

}//方法mySearch()结束

/**

* search方法

*

* 实现查找功能

*

*/

public void search() {

final JDialog findDialog = new JDialog(this, "查找下一个", true);

Container con = findDialog.getContentPane();

con.setLayout(new FlowLayout(FlowLayout.LEFT));

JLabel searchContentLabel = new JLabel(" 查找内容(N) :");

final JTextField findText = new JTextField(17);

final JCheckBox matchcase = new JCheckBox("区分大小写(C)");

ButtonGroup bGroup = new ButtonGroup();

final JRadioButton up = new JRadioButton("向上(U)");

final JRadioButton down = new JRadioButton("向下(D)");

down.setSelected(true); //默认向下搜索

bGroup.add(up);

bGroup.add(down);

JButton searchNext = new JButton("查找下一个(F)");

//"查找下一个"按钮事件处理

searchNext.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

int a = 0, b = 0;

int FindStartPos = textArea.getCaretPosition();

String str1, str2, str3, str4, strA, strB;

str1 = textArea.getText();

str2 = str1.toLowerCase();

str3 = findText.getText();

str4 = str3.toLowerCase();

//"区分大小写"的CheckBox被选中

if (matchcase.isSelected()) //不区分大小写

{

strA = str1;

strB = str3;

}

else //区分大小写

{

strA = str2;

strB = str4;

if (up.isSelected()) //向上搜索

{

if (textArea.getSelectedText() == null)

{

a = https://www.doczj.com/doc/2418035048.html,stIndexOf(strB, FindStartPos - 1);

}

else

{

a = https://www.doczj.com/doc/2418035048.html,stIndexOf(strB, FindStartPos -

findText.getText().length() - 1);

}

}

else if (down.isSelected())

{

if (textArea.getSelectedText() == null)

{

a = strA.indexOf(strB, FindStartPos);

}

else

{

a = strA.indexOf(strB, FindStartPos - findText.getText().length() + 1);

}

}

if (a > -1)

{

if (up.isSelected())

{

textArea.setCaretPosition(a);

b = findText.getText().length();

textArea.select(a, a + b);

}

else if (down.isSelected())

{

textArea.setCaretPosition(a);

b = findText.getText().length();

textArea.select(a, a + b);

}

}

else

{

JOptionPane.showMessageDialog(null, "找不到您查找的内容!", "记事本", https://www.doczj.com/doc/2418035048.html,RMATION_MESSAGE);

}

});

//"取消"按钮及事件处理

JButton cancel = new JButton(" 取消 ");

cancel.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

findDialog.dispose();

}

});

//创建"替换"对话框的界面

JPanel bottomPanel = new JPanel();

JPanel centerPanel = new JPanel();

JPanel topPanel = new JPanel();

JPanel direction = new JPanel();

direction.setBorder(BorderFactory.createTitledBorder("方向"));

direction.add(up);

direction.add(down);

topPanel.add(searchContentLabel);

topPanel.add(findText);

topPanel.add(searchNext);

bottomPanel.add(matchcase);

bottomPanel.add(direction);

bottomPanel.add(cancel);

con.add(topPanel);

con.add(centerPanel);

con.add(bottomPanel);

//设置"替换"对话框的大小、可更改大小(否)、位置和可见性

findDialog.setSize(425, 200);

findDialog.setResizable(true);

findDialog.setLocation(230, 280);

findDialog.setVisible(true);

}

/**

* 主函数

*

*

*

**/

public static void main(String[] args) {

MiniNote note = new MiniNote();

note.setVisible(true);

}

} //字体类

import java.awt.Font;

import java.awt.GraphicsEnvironment;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.ItemEvent;

import java.awt.event.ItemListener;

import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

import javax.swing.border.*;

import java.util.*;

public class FontDialog {

private Dialog fontdialog;

private JButton okButton, cancelButton;

private int width = 480;

private int height = 250;

private String name = "Serif";

private int type = 0;

private int size = 12;

private Font customFont = new Font("宋体", Font.ITALIC, 12);

private boolean okpressed = false;

private boolean cancelpressed = false;

private JLabel lbl1 = new JLabel("字体:");

private JLabel lbl2 = new JLabel("字形:");

private JLabel lbl3 = new JLabel("大小:");

private JTextArea area;

String[] zx = { "常规", "加粗", "斜体", "基线" };

String[] dx = {"8" , "9" , "10", "12", "14", "15", "16", "18",

"20", "21", "22", "24", "26", "28", "30", "36",

"48", "54","72" , "89"};

JLabel lbl = new JLabel("字体样式Style");

private JComboBox cb1, cb3 = new JComboBox(dx), cb2 = new JComboBox(zx); private String[] zt;

第一次 Java 实验报告

Java实验报告 班号学号姓名 实验地点完成日期年月日 实验一Java编程环境使用 一、实验任务和要求 掌握Java运行环境的配置 掌握Java程序的编写、编译、运行等过程 熟悉Java语言的基本语法和运行原理 掌握Java的基本数据类型、表达式和程序控制结构 熟悉Eclipse开发环境的基本使用方法 二、原理分析和程序设计 实验内容: 1、在控制台下求两个实数的最大值(CompareTwoNumbers.java) 要求:从键盘输入任意两个实数,比较两个数字的大小,将较大的数输出。数据输入和输出用Java的标准输入流和输出流来实现。请按照代码提示编写完整程序,并查看结果。 代码提示: import java.util.Scanner; //导入Scanner对象; Scanner scanner = new Scanner(System.in);//实例化一个Scanner对象; number1 = scanner.nextDouble();//从键盘输入一个实数赋值给number1; 相应代码: import java.util.Scanner; //导入Scanner对象; public class CompareTwoNumbers { public static void main(String[] args){ Scanner scanner = new Scanner(System.in);//实例化一个Scanner对象; System.out.print("请输入第一个数:"); double number1 = scanner.nextDouble();//从键盘输入一个实数赋值给number1; System.out.print("请输入第二个数:"); double number2 = scanner.nextDouble(); double c=number1>number2?number1:number2; System.out.print("最大的数为:"+c); } } 猜数字游戏(GuessNumber.java)

java实验报告完整版

实验报告 (计算机与信息工程学院实验中心) 学期: 2014-2015 课程名称:《Java程序设计实验》 班级:信息1202 姓名:方逸梅 学号: 31 指导老师:费玉莲

《Java程序设计》 独立实验教学安排 一、实验的教学方式、安排及实验环境 (一)教学方式 对照本课程的实验教材,实验一至实验十一,由教师提示实验原理、方法、步骤等内容,在教师的指导下,学生独立完成程序设计及调试工作。实验十二的内容由学生自行设计完成。 (二)教学安排 学时数:30课时 学时安排:每次实验3学时,从学期第五周开始,共十次上机实验。 (三)实验环境 实验环境为JDK 。 (四)具体安排 地点:信息大楼实验室。 辅导:每个班次一名辅导老师,原则上由任课老师担任。 登记:实验完成,由辅导老师登记实验纪录。 学生:实验做完,完成实验报告内容,并在学期末上交实验册。 老师:批改实验,成绩与平时成绩一起占期末的30%。 二、实验的具体内容和要求 见实验报告。

浙江工商大学 计算机与信息工程学院实验报告(1)日期:地点:成绩: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 实验目的、实验原理和内容: 一、实验目的:熟悉Java开发环境及简单程序Java设计。 二、实验原理:SDK 的下载与安装,设置环境变量,安装java 虚拟机,使用Eclipse,编译Java 源程序,运行Java 程序。 三、实验内容及要求: 1.下载、安装并设置Java SDK 软件包。 2.熟悉Eclipse 编辑软件。 3.掌握运行Java 程序的步骤。 4.分别编写Application和Applet程序,显示字符串”Hello Java!欢迎使用!”。 要求:请同学把预备知识、步骤、程序框图、调试好的程序及存在的问题写在下面(不够可以附页)。 程序一 public class hello { public static void main(String[] args) { for(int i=0;i<=4;i++) { "Hello java! 欢迎使用!"); } }

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.doczj.com/doc/2418035048.html,/j2se,根据提示

java第一次报告

学生实验报告 (2009—2010学年第一学期) 课程名称:基于Java的Web应用设计开课实验室:2301 2009年 10月 30 日

一、实验目的及内容 目的:掌握和巩固Java基础知识 内容: 1.Java语言开发流程 2.编写一个程序,该程序实现以下功能:把自己的学号看作是一个整数n,计算并在 屏幕上输出该整数各位相加的结果。例如:学号为12345的同学应计算并输出结果 15。 二、要求 1.描述Windows下JDK环境变量的设置。 2.描述上述程序的设计、实现和结果,并对结果进行分析;设计和实现时要求上述功 能放到main函数之外的其他函数中实现。 3.以上面程序为例完整叙述(1)在命令行方式下Java语言的开发流程;(2)在NetBeans 集成开发环境中的开发流程。 三、实验步骤 1、环境变量设置: 右键点击“我的电脑”,选择“属性”,在“高级”选项里进入“环境变量”的设置如下: 2、path变量的设置:path, 是告诉系统, 当要求系统运行一个程序而没有告诉它程序所在的完整路径时, 系统除了在当前目录下面寻找此程序外, 还应到哪些目录下去寻找。本次实验中设置为java安装时bin的绝对路径如下:

4、新建项目如下: 5、设置项目名称及运行路径如下

6、程序设计如下: /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package jing; import java.io.*; /** * * @author ycx */ public class Main { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here InputNum inp=new InputNum(); CountStuNum coun=new CountStuNum(); try{ long getNum=inp.InputNum(); coun.CountStuNum(getNum); }catch(IOException e){

java——实验报告

public class Hello { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("大家好!");//向控制台输出语句 System.out.println("Nice to meet you");//向控制台输出语句 Student stu = new Student();//类确定对象 stu.speak("We are students");//stu对象向控制台输出语句} } class Student { public void speak (String s){//创建新的类 System.out.println(s); } } class Student { public void speak (String s){//创建新的类 System.out.println(s); 例子2 public class People {//定义一个公共访问权限的类People /** * @param args

int height;//定义浮点型数据height String ear;//定义浮点型数据heightear void speak(String s){ //定义speak()方法,该方法的功能是输出参数的值 System.out.println(s); } } class A { public static void main(String[] args) { // TODO Auto-generated method stub People zhubajie;//声明一个People类的对象zhubajie zhubajie = new People(); //为对象zhubajie分配储存空间(通过关键字new和构造方法) zhubajie.height =170; //给对象zhubajie的height变量赋值1.7 zhubajie.ear = "两只大耳朵"; System.out.println("身高:"+zhubajie .height); System.out.println(zhubajie.ear); //调用对象zhubajie的speak()方法 zhubajie.speak("师傅,咱们别去西天了,改去月宫吧"); } }

JAVA实验报告

宁夏师范学院实验课程报告单 (数计)学院(08)级(计算机科学与技术)专业()班(java)课程学号31 姓名张娅娟班级08级 实验课程java 实验题 目 基本数据类型 实验日期2011.4.2 指导老 师 褚万军 实验内容及具体步骤: 实验4 基本数据类型的使用 1.实验目的 ●学习标识符的命名规则。 ●学习基本数据类型变量的声明。 ●学习基本数据类型变量的初始化。 ●明确局部变量使用前初始化的意义。 ●学习常量的使用。 2.实验内容 编写一个Java 程序,在程序中声明各种基本数据类型的变量,对它们进行初始化,再显示它们各自的值;定义一个双精度数据类型的常量,并显示它的值。 3. 程序清单与测试数据 //InitVar.java public class InitVar{

public static void main(String [] args) { byte a=10;//声明一个字节型变量a,初始化为10 short b=20;//声明一个短整形变量b,初始化为20 int c=30;//声明一个整数形变量c,初始化为30 long d=40L; float e=50f;//声明一个单精度变量e,初始化为50f double f=60d; //声明一个双精度变量f,初始化为60d char g='A';//声明一个字符形变量g,初始化为‘A’ boolean h=true;//声明一个布尔形变量h,初始化为true double pi=3.14;//声明一个双精度形常量pi,初始化为3.14 //以下是输出语句,请给出。 System.out.println("字节型,a="+a); System.out.println("短整型,b="+b); System.out.println("整型,c="+c); System.out.println("长整型,d="+d); System.out.println("单精度型,e="+e); System.out.println("双精度型,f="+f); System.out.println("字符型,g="+g); System.out.println("布尔型,h="+h); System.out.println("圆周率,pi="+pi);

JAVA实验报告参考

实验报告 实验名称工资管理程序第 2 次实验实验日期 2009- - 指导教师 班级 04软件工程学号姓名成绩 一、实验目的 1、掌握类的定义、域的定义及方法的定义。 2、掌握对象的定义与使用 3、掌握抽象类的用法 二、实验内容 1、建立一个抽象类Employee类 至少包括成员变量: 名、姓、年龄、性别 至少包括构造函数: 名和姓作为参数 至少包括方法: 取名称 至少包括抽象方法: 取收入earnings() 重写Object的toString()方法,返回Employee类的描述信息如名称信息 2、建立老板类Boss类继承Employee类 至少构造函数以名和姓及周工资作为参数 老板的工资是周工资 3、建立销售人员类 销售人员的收入= 销售量* 单价 要求:每个销售人员对象都能知道当前共有多少个销售人员 ... ... 4、在main函数中,分别创建老板对象、销售人员对象 三、实验步骤 3.1 进入eclips,创建一个名为employ的工程,新建一个抽象类Employee类 类中的成员变量有private String firstname; private String lastname; private String sex; private String age; 构造函数为employee(){} //无参数的构造函数 employee(String fn,String ln) //以名和姓为参数的构造函数 { this.firstname=fn; https://www.doczj.com/doc/2418035048.html,stname=ln; } employee(String fn,String ln,String s,String a)//参数完整的构造函数 { this(fn,ln);

初识Java 实验报告

太原师范学院 实验报告 Experimentation Report of Taiyuan teachers College 系部计算机系年级课程Ja va实用教程 姓名同组者无日期2012.2.28 项目初识Java 实验①:一个简单的应用程序 1、实验目的: 掌握Java应用程序的3个步骤:编写原文件、变异原文件和运用应用程序。 2、实验要求: 编写一个简单的Java应用程序,该程序在命令窗口输出两行文字:“Hello Java” 和“We are students”。 3、实验代码: public class hello { public static void main (String args[]) { System.out.println("Hello Java"); A a=new A(); a.fA(); } } class A

{ void fA() { System.out.println("We are students"); } } 4、实验后的练习: ①编译器怎样提示丢失大括号的错误? Hello.java :18:进行语法解析时已到达文件结尾 }→ ^ ②编译器怎样提示语句丢失分号的错误? Hello.java :7:需要‘;’ System.out.println(“Hello Java”) ^ ③编译器怎样提示将System写成system这一错误? Hello.java :7:软件包system不存在 System.out.println(“Hello Java”); ^ ④编译器怎样提示将String写成string这一错误? Hello.java :5:找不到符号 符号:类string 位置:类hello Public static void main(string args[]) ^ 实验②:画出一个正弦函数的波形图 实验目的:掌握开发Java sin Applet程序的3个步骤:编写源文件、编译源文件和运行Java sin Applet程序 实验要求:编写一个简单的Java sin Applet程序,打印出正弦函数的图形。 实验代码: import java.applet.*; import java.awt.*; import java.awt.Color; public class sin extends Applet{ public void paint(Graphics g){ int x=0; int y=0; int i=0; for(i=0;i<360;i++) { x=(int)((i*Math.PI/180)*100); y=(int)(Math.sin((i*Math.PI)/180)*100)+200; g.drawString("*",x,y);

java实验报告完整版

实验报告 (计算机与信息工程学院实验中心) 学期: 2014-2015 课程名称: 《Java程序设计实验》 班级: 信息1202 姓名: 方逸梅 学号: 1212100231 指导老师: 费玉莲 《Java程序设计》 独立实验教学安排 一、实验的教学方式、安排及实验环境 (一)教学方式 对照本课程的实验教材,实验一至实验十一,由教师提示实验原理、方法、步骤等内容,在教师的指导下,学生独立完成程序设计及调试工作。实验十二的内容由学生自行设计完成。 (二)教学安排 学时数:30课时 学时安排:每次实验3学时,从学期第五周开始,共十次上机实验。 (三)实验环境 实验环境为JDK 1、6。

(四)具体安排 地点:信息大楼实验室。 辅导:每个班次一名辅导老师,原则上由任课老师担任。 登记:实验完成,由辅导老师登记实验纪录。 学生:实验做完,完成实验报告内容,并在学期末上交实验册。 老师:批改实验,成绩与平时成绩一起占期末的30%。 二、实验的具体内容与要求 见实验报告。

浙江工商大学 计算机与信息工程学院实验报告(1)日期:地点:成绩: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━实验目的、实验原理与内容: 一、实验目的:熟悉Java开发环境及简单程序Java设计。 二、实验原理:SDK 的下载与安装,设置环境变量,安装java 虚拟机,使用Eclipse,编译Java 源程序,运行Java 程序。 三、实验内容及要求: 1. 下载、安装并设置Java SDK 软件包。 2. 熟悉Eclipse编辑软件。 3.掌握运行Java 程序的步骤。 4.分别编写Application与Applet程序,显示字符串”Hello Java!欢迎使用!”。 要求:请同学把预备知识、步骤、程序框图、调试好的程序及存在的问题写在下面(不够可以附页)。 程序一 public class hello { public static void main(String[] args) { for(int i=0;i<=4;i++) { System、out、println("Hello java! 欢迎使用!"); } } } 结果示意图1

JAVA实验报告

目录实验1 Java语言基础 实验2 数组和字符串编程 实验3 Java面向对象程序设计 实验4 Java异常处理 实验5 多线程编程 实验6 图形用户界面编程 实验7 输入与输出 实验8 网络编程 实验9 数据库编程

实验1 Java语言基础 一、实验目的和要求 1.实验目的 通过实验,掌握Java语言程序设计的基本方法。 学会Java语言中标示符的命名、运算符和表达式的应用。 熟练地掌握Java程序流程控制语句的应用。 2.实验内容 1.编写应用程序,计算100(含100)以内所有偶数的和。 2.“水仙花数”是指一个3位数,其个位、十位、百位上的数字的立方和等于该数本身,例如371=33+73+13,因此371是一个水仙花数。编写程序,求所有的水仙花数。 3.编写一个程序,求1-100间的素数。 4.有一函数: x (x<1) Y= 3x-2 (1≤x<10) 4x (x≥10) 写一程序,给定x值,输出y值。 5.使用for循环语句,编写程序输出以下图案。 ☆ ☆☆☆ ☆☆☆☆☆ ☆☆☆☆☆☆☆ ☆☆☆☆☆ ☆☆☆ ☆ 6.编写程序,输出从公元1900年到2100年所有闰年的年号,每输出5个年号换一行。判断年是否为闰年的条件是:①若年号可以被4整除,而不能被100整除,则是闰年;②若年号可以被400整除,也是闰年。 二、源代码 1.package addsum; public class addsum { public static void main(String s[])

{ int sum=0; for(int i=0;i<=100;i=i+2) sum=sum+i; System.out.println(sum); } } 2.package addsum; public class shuixianhua { public static void main(String[] args) { int i, j, k; for (i = 1; i <= 9; i++) { for (j = 0; j <= 9; j++) { for (k = 0; k <= 9; k++) { if ((i * 100 + j * 10 + k) == (i * i * i + j * j * j + k * k * k)) System.out.println(i * 100 + j * 10 + k + "=" + i + "*" + i + "*"+i+"+" + j + "*" + j+ "*" + j + "+" + k+ "+" + k+ "+" + k); } } } } } 3.package addsum; public class prime { public static void main(String[] args) { System.out.println("100内的素数为:"); loop: for (int i = 2; i < 100; i++) { for (int j = 2; j < i; j++) { if (i % j == 0) { continue loop; } } System.out.print(" " + i); } } } 4.package addsum; import java.util.Scanner; public class question4 { public static void main(String[] args) { double x,y; System.out.print("请输入x:");

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实验三实验报告

实验报告 课程名称面向对象课程设计 实验项目名称类的继承 班级与班级代码13计算机科学与技术1班实验室名称(或课室)SS1 205 专业计算机科学与技术 任课教师尹华 学号:12251102120 姓名:林淑英 实验日期:2014 年4 月28 日 广东财经大学教务处制

姓名林淑英实验报告成绩 评语: 指导教师(签名) 年月日说明:指导教师评分后,实验报告交院(系)办公室保存。

实验三类的继承、多态、接口、访问控制符与修饰符 实验目的:通过编程练习掌握类的继承,多态,接口,访问控制符与修饰符的使用方法。 实验原理:类的继承,接口。 实验设备:计算机,Eclipse。 实验题目: 1.设计一个Person 类,其成员变量有:姓名(name)、性别(gender)、年 龄(age);再设计一个Student类,它是类Person的子类,其成员变量有:学号(id)、班名(cname)、成绩(score),类Student中要有一个方法 display(),用来显示一个学生的信息。 编写一个测试程序,创建一个Student类的对象,要求name和id 是自己的姓名和学号,输出学生的各种信息,学生的基本信息在类Student的带参数的构造方法中设定。 2.定义一个类A,该类有一个方法f,方法f可以输出英文字母,再定义 一个类B是A的子类,子类B不能重写父类A的方法f,子类有一个方法g,可以输出中文字符串。 编写测试程序,创建B的对象,输出英文字母和中文字符串。 3.定义一个坐标类Pointer,成员变量包括x和y;成员方法有: (1)构造方法 (2)setX、setY、getX、getY、display方法 (3)类方法distance用来计算两点之间的距离 编写测试程序,创建Pointer的两个对象并计算两个点坐标的距离。

JAVA实验报告

学生实验报告册 (理工类) 课程名称:面向对象程序设计专业班级:16计算机科学与技术(专转本)学生学号:22 学生姓名:张义丹 所属院部:计算机工程指导教师:刘晶 20 16 ——20 17 学年第2 学期 金陵科技学院教务处制

实验报告书写要求 实验报告上交电子稿,标题采用四号黑体,正文采用小四号宋体,单倍行距。 实验报告书写说明 实验报告中实验目的和要求、实验仪器和设备、实验内容与过程、实验结果与分析这四项内容为必需项。教师可根据学科特点和实验具体要求增加项目。 填写注意事项 (1)细致观察,及时、准确、如实记录。 (2)准确说明,层次清晰。 (3)尽量采用专用术语来说明事物。 (4)外文、符号、公式要准确,应使用统一规定的名词和符号。 (5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。 实验报告批改说明 实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用五级记分制或百分制,按《金陵科技学院课堂教学实施细则》中作业批阅成绩评定要求执行。

实验项目名称:Java编程基础实验学时: 6 同组学生姓名:————实验地点:工科楼A101 实验日期:实验成绩: 批改教师:刘晶批改时间:

实验1 Java编程基础 一、实验目的和要求 (1)熟练掌握及编写调试Java应用程序及Java小程序的方法; (2)熟练掌握Java应用程序的结构; (3)了解Java语言的特点,基本语句、运算符及表达式的使用方法; (4)熟练掌握常见数据类型的使用; (5)熟练掌握if-else、switch、while、do-while、for、continue、break、return语句的使用方法; (6)熟练掌握数组和字符串的使用; (7)调试程序要记录调试过程中出现的问题及解决办法; (8)编写程序要规范、正确,上机调试过程和结果要有记录,不断积累编程及调试经验; (9)做完实验后给出本实验的实验报告。 二、实验仪器和设备 奔腾以上计算机,Windows 操作系统,装有和软件。 三、实验过程 (1)分别使用JDK命令行和Eclipse编译运行Java应用程序;适当添加注释信息,通过javadoc生成注释文档;为主方法传递参数“Hello world”字符串,并输出,记录操作过程。 public class Hello { public static void main(String args[]) { "Hello!"); } } (2)分别使用JDK命令行和Eclipse编译Java Applet,并建立HTML文档运行该Applet。 压缩生成".jar"文件。记录操作过程。 import .*; import class HelloApplet extends Applet { public void paint(Graphics g) { ; ("Hello!",20,20); } }

java实验报告完整版

java实验报告完整版 验报告(计算机与信息工程学院实验中心)学期: 全文结束》》-xx 课程名称: 《Java程序设计实验》班级: 信息1202 姓名: 方逸梅学号:1212100231 指导老师: 费玉莲《Java程序设计》独立实验教学安排 一、实验的教学方式、安排及实验环境 (一)教学方式对照本课程的实验教材,实验一至实验一,由教师提示实验原理、方法、步骤等内容,在教师的指导下,学生独立完成程序设计及调试工作。实验二的内容由学生自行设计完成。 (二)教学安排学时数:30课时学时安排:每次实验3学时,从学期第五周开始,共次上机实验。 (三)实验环境实验环境为JDK 1、6。 (四)具体安排地点:信息大楼实验室。辅导:每个班次一名辅导老师,原则上由任课老师担任。登记:实验完成,由辅导老师登记实验纪录。学生:实验做完,完成实验报告内容,并在学期末上交实验册。老师:批改实验,成绩与平时成绩一起占期末的30%。

二、实验的具体内容和要求见实验报告。浙江工商大学计算机与信息工程学院实验报告(1)日期: 地点: 成绩: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 实验目的、实验原理和内容: 一、实验目的:熟悉Java开发环境及简单程序Java设计。 二、实验原理:SDK 的下载与安装,设置环境变量,安装java 虚拟机,使用Eclipse,编译Java 源程序,运行Java 程序。 三、实验内容及要求: 1、下载、安装并设置Java SDK 软件包。 2、熟悉Eclipse 编辑软件。 3、掌握运行Java 程序的步骤。 4、分别编写Application和Applet程序,显示字符 串”Hello Java!欢迎使用!”。要求:请同学把预备知识、步骤、程序框图、调试好的程序及存在的问题写在下面(不够可以附页)。程序一public class hello {public static void main(String[] args) {for(int i=0;i<=4;i++){System、out、println("Hello java! 欢迎使用!");}}}结果示意图1存在的问题

java实验报告一

《Java技术》实验报告

5.分析 本程序成功实现了初始化两个在不同包内的对象,以及实现了子类对象对父类方法的引用与重写。也编写并验证了求两点距离的方法。但是平移函数的使用因为实验指导书中并没有明确要求,故没有再次验证。 五、实验结论、分析、思考题与心得体会 通过本次实验,我有以下几方面的收获、认识和体会: 1、学会了在三种环境下编写程序及运行程序的方法; 2、加深了Java中相关语法的认识: 在初次录入源程序时,我将public写成了Public,导致编译出错,结合语法我认识到Java是严格区分大小写的。 3、了解了对不同包内的函数的引用以及子类对父类方法的引用与重写。 4、了解了super方法的用法。 5、思考题一JVM是JRE的一部分。它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java语言最重要的特点就是跨平台运行。使用JVM就是为了支持与操作系统无关,实现跨平台。所以,JAVA虚拟机JVM是属于JRE的,而现在我们安装JDK时也附带安装了JRE(当然也可以单独安装JRE)。 6、思考题二PATH是java虚拟机在读取java文件时JDK的默认路径。而CLASSPATH 是告诉虚拟机要去哪里实现我给他的类。这两者在系统属性中的系统变量中设置。 7、思考题三创建子类对象时引用了父类的空构造函数作为自己的构造函数,然后再引用自己的有参构造函数来初始化变量。 8、思考题四多态性是指允许不同类的对象对同一消息作出响应。比如同样的加法,把两个时间加在一起和把两个整数加在一起肯定完全不同。又比如,同样的选择编辑-粘贴操作,在字处理程序和绘图程序中有不同的效果。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。 在程序中有不同的参数可以使用同名的不同构造函数来体现。

java实验报告

实验报告□实践报告□ 课程名称: Java语言程序设计 实验、实践名称:Java语言基础、数组和字符串编程、Java 面向对象程序设计、Java异常处理多线 程编程、图形用户界面编程 实验、实践地点:致向楼301 专业班级:软件1531 学号: 学生姓名:关玉芬 指导教师:相洁 2017 年 1月8日

for(int j=1;j

Java课程第一次实验报告副本

实验报告 ( 2015 / 2016学年第2学期) 课程名称JAVA语言程序设计 实验名称Java集成开发环境的安装与使用、 Java变量、表达式与控制结构 实验时间2016 年 3 月24 日指导单位计算机学院/软件学院 软件工程系 指导教师朱艳梅 学生姓名班级学号 学院(系) 专业

实验名称Java集成开发环境的安装与使用、Java变量、 表达式与控制结构 指导教师朱艳梅 实验类型上机实验学时 2 实验时间2016-3-24 一、实验目的 1. 熟练掌握Java开发环境的安装和使用 2. 掌握Java变量、表达式 3. 熟练掌握三大控制结构,会编写相关程序 二、实验环境(实验设备) 1. 每位学生配备计算机一台 2. 计算机需安装好JDK和JCreator或Eclipse 三、实验内容 1. 从键盘输入3个数,求最小值并输出。 package判断最小数; import java.awt.event.InputEvent; import java.util.Scanner; public class Findmini { public static void main(String[] args) { // TODO自动生成的方法存根 Scanner input = new Scanner(System.in); int a,b,c,mini; System.out.print("输入第一个数:"); a = input.nextInt(); System.out.print("输入第二个数:"); b = input.nextInt(); System.out.print("输入第三个数:"); c = input.nextInt(); mini=(a

JAVA实验报告

编号: JAVA大学教程实验报告 院系:计算机科学与工程学院 专业:计算机科学与技术 学生姓名:方遥 学号:1100310107 指导教师:汪华登 2013年12月15日

实验一Java开发环境及基本语法 一、实验目的 1、掌握常用的Java集成开发环境的使用,特别是Eclipse和NetBeans。 2、掌握Java基本语法,重点是面向对象的思想和语法。 3、掌握控制台下(应用程序)的输入输出方法,作为后续部分实验的基础。 二、实验类型 设计型。 三、实验内容 1、打开实验室计算机上的集成开发环境Eclipse或NetBeans(重点是Eclipse),掌握其基本使用方法。了解开发软件的各个菜单功能。会创建java项目(Project),会编辑和编译、运行项目代码。 2、验证和学习所给的几个例子程序及其讲解。然后自己编写一个至少由一个类构成的Java程序,其功能是在运行后,能接收用户输入一个学生的姓名以及java课的成绩(百分制),并输出对该学生成绩是否达到60分的及格分的判断(可使用if语句)。例如,输入学生姓名李明,然后输入成绩50,则输出“李明的成绩为不及格”。 3、编写一个程序来表示长方体的长宽高等数据并有计算体积的函数可供调用,长方体类从矩形类继承而来。程序运行时能接受输入任意的3 个数作为长方体的长、宽和高,然后能够输出所输入的长宽高及所计算出的体积。注意不能把代码全部写在main函数里面,不能直接输出长宽高的乘积。在解决该问题的程序设计中,将体积计算等功能封装成方法调用,长宽高等属性封装到矩形类和长方体类中,尽量多地用到接口的定义、类的定义、成员变量的定义、成员函数的定义、类的继承等面向对象的语法和知识点。在此基础上熟悉、理解和解释类的封装、继承等面向对象编程思想和概念。 四、预备知识 作为一门完全面向对象的程序设计语言,Java语言编写的所有程序都是由类(以及接口)构成的。所以我们需要重点掌握类的定义、修饰,对象的创建,类的继承,以及接口等面向对象语法知识。Java中没有模板、多继承、运算符重载等C++中比较复杂的语法部分,其面向对象语法相对简单。 大家此前一般学过C或C++语言等,那么请注意,由于Java是“完全”面向对象的语言,任何程序代码都是类或接口构成,所以请务必摒弃在C语言等的学习过程中形成的喜欢在main函数外部定义全局变量等习惯,因为这些做法在Java中将直接成为错误。Java程序都只由接口和(或)类构成,类中才可定义普通数据类型或复合数据类型的成员变量。对于初学面向对象程序设计的学习者而言,类看起来很复杂,实际上我们应该注意到:类只是由两种东西构成的,一种是成员变量,另一种是成员函数(或称成员方法)。对于Java程序而言,只有在成员函数中,才可以编写和存在具体的执行语句。而在Java程序的类中的成员函数中,就涉及到数据类型和循环语句等基本语法。 Java的基本语法与C语言是很接近的。同样有普通数据类型变量(在Java中包括整型、字符型、布尔型等)的定义,同样有if语句,if-else语句,switch语句,以及while循环,for 循环,do-while循环。此处不单独举例,大家首先可在main函数中自己编写简单的代码对这些基本语法概念进行练习和验证。然后应用Java的面向对象语法,设计类和定义对象等,进行Java面向对象编程思想和语法的熟悉。 实验源代码1:

JAVA项目实验报告

JA V A课程项目报告 项目题目:利用JA V A实现一个小时钟的程序专业班级:10软件工程 学生姓名:闵楠 学生学号:E01014135

利用JAVA实现一个时钟的小程序 1.软件开发的需求分析 在当今的信息时代,时钟已经成为人们生活中必不可少的应用工具,Java语言是当今流行的网络编程语言,它具有面向对象、与平台无关、安全、多线程等特点。使用Java 语言不仅可以实现大型企业级的分布式应用系统,还能够为小型的、嵌入式设备进行应用程序的开发。面向对象的开发方法是当今世界最流行的开发方法,它不仅具有更贴近自然的语义,而且有利于软件的维护和继承。为了进一步巩固课堂上所学到的知识,深刻把握Java 语言的重要概念及其面向对象的特性,锻炼我们熟练的应用面向对象的思想和设计方法解决实际问题的能力,开设了Java程序设计课程设计。 此次课程设计的题目为简单的小时钟程序设计,通过做巩固所学Java语言基本知识,增进Java语言编辑基本功,掌握JDK、JCreator等开发工具的运用,拓宽常用类库的应用。使我们通过该教学环节与手段,把所学课程及相关知识加以融会贯通,全面掌握Java语言的编程思想及面向对象程序设计的方法,为今后从事实际工作打下坚实的基础。 2.具体实现 2.1设计思路 Java是一种简单的,面向对象的,分布式的,解释的,键壮的,安全的,结构中立的,可移植的,性能很优异的,多线程的,动态的语言。Java去掉了C++语言的许多功能,让Java的语言功能很精炼,并增加了一些很有用的功能,如自动收集碎片。这将减少平常出错的50%。而且,Java很小,整个解释器只需215K的RAM。 因此运用JAVA程序编写小时钟程序,实现简单显示时间的功能。本次课程设计做的是Java简单小时钟,它是图形界面、线程、流与文件等技术的综合应用,其界面主要采用了java.awt包,javax.swing包等。程序实现了小时钟的基本功能。 2.2设计方法 在设计简单小时钟时,需要编写5个Java源文件:Server.java、Objecting.java、LogIn.java、ClientUser.java、Client.java。 小时钟除了需要编写的上述5个Java源文件所给出的类外,还需要Java系统提供的一些重要的类,如JTextField、JTextArea和File类。

相关主题
文本预览
相关文档 最新文档