java程序设计与案例
⑴ java程序设计题
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class Test {
public static void main(String[] args) {
BufferedOutputStream out = null;
try {
out = new BufferedOutputStream(new FileOutputStream(new File("d:/info.txt")));
String line = "第一行文本\n第二行文本";
out.write(line.getBytes());
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (out != null) {
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
BufferedInputStream in = null;
try {
in = new BufferedInputStream(new FileInputStream("d:/info.txt"));
StringBuffer buffer = new StringBuffer();
byte[] buff = new byte[in.available()];
while (in.read(buff) != -1) {
buffer.append(new String(buff));
}
System.out.println(buffer);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (in != null) {
try {
in.close();
in = null;
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
⑵ JAVA程序设计
public class Student {
private String id;
private String name;
private double store;
public Student(String id, String name, double store) {
this.SetRecord(id, name, store);
}
public void SetRecord(String id, String name, double store) {
this.id = id;
this.name = name;
this.store = store;
}
public String GetRecord() {
return "id=" + id + ",name=" + name + ",store=" + store;
}
public static void main(String[] args) {
Student stuA = new Student("na001", "jack", 98.5);
System.out.println("该学生的信息为:\n" + stuA.GetRecord());
}
}
⑶ 简单的java程序设计。。
共四个类,一个类对应一个文件,复制下去后可编译运行:第一个题目的基类:
public abstract class Subject {
public abstract int getResult();
protected int num1;
protected int num2;
public Subject(){}
public Subject(int num1,int num2){
this.num1 = num1;
this.num2 = num2;
} public int getNum1() {
return num1;
} public void setNum1(int num1) {
this.num1 = num1;
} public int getNum2() {
return num2;
} public void setNum2(int num2) {
this.num2 = num2;
} public abstract String toSubString();
}
第二个 加法题:public class AdditionSubject extends Subject{ public AdditionSubject() {
}
public AdditionSubject(int num1,int num2){
super(num1,num2);
} public int getResult() {
return num1 + num2;
} @Override
public String toSubString() {
return num1 + " + "+num2+" = ";
}
}
第三个 减法题:
public class SubtractionSubject extends Subject{ public SubtractionSubject(int num1, int num2) {
super(num1,num2);
} public SubtractionSubject() {
} @Override
public int getResult() {
return num1 - num2;
} @Override
public String toSubString() {
return num1 + " - "+num2+" = ";
}}
第四个 图形界面:
import java.awt.Color;
import java.util.Random;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.UIManager;
import javax.swing.border.EmptyBorder;/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*//*
* SubjectFrame.java
*
* Created on 2010-6-28, 13:19:42
*//**
*
* @author Administrator
*/
public class SubjectFrame extends javax.swing.JFrame {
private Subject[] subjects;
private JLabel[] subLabels = new JLabel[10];
private JLabel[] resultLabels = new JLabel[10];
private JTextField[] results = new JTextField[10]; /** Creates new form SubjectFrame */
public SubjectFrame() {
initComponents();
startup();
}
private void startup(){
mainPanel.setBorder(new EmptyBorder(5,15,5,15));
int max = 10;
for(int i=0;i<max;i++){
JLabel label = new JLabel((i+1)+"、");
label.setHorizontalAlignment(JLabel.TRAILING);
mainPanel.add(label);
subLabels[i] = new JLabel();
mainPanel.add(subLabels[i]);
results[i] = new JTextField(5);
mainPanel.add(results[i]);
resultLabels[i] = new JLabel();
mainPanel.add(resultLabels[i]);
}
refreshSubjects();
pack();
this.setLocationRelativeTo(null);
}
//刷新题目
public void refreshSubjects(){
subjects = new Subject[10];
int max = 10;
Random r = new Random();
for(int i=0;i<max;i++){
if(r.nextBoolean()){
subjects[i] = new AdditionSubject();
}else{
subjects[i] = new SubtractionSubject();
}
subjects[i].setNum1(r.nextInt(100));
subjects[i].setNum2(r.nextInt(100));
subLabels[i].setText(subjects[i].toSubString());
results[i].setText(null);
resultLabels[i].setText(null);
}
rightNum.setText("00");
wrongNum.setText("00");
scroe.setText("000");
}
//提交答案
public void submit(){
int rnum = 0;
for(int i=0;i<subjects.length;i++){
boolean r = false;
try{
r = subjects[i].getResult() == Integer.parseInt(results[i].getText());
}catch(Exception e){
}
if(r){
rnum++;
resultLabels[i].setText("正确!");
resultLabels[i].setForeground(Color.GREEN);
}else{
resultLabels[i].setText("错误!");
resultLabels[i].setForeground(Color.RED);
}
}
rightNum.setText(rnum+"");
wrongNum.setText((10-rnum)+"");
scroe.setText(rnum*10+"");
} /** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() { mainPanel = new javax.swing.JPanel();
jPanel2 = new javax.swing.JPanel();
refresh = new javax.swing.JButton();
submit = new javax.swing.JButton();
javax.swing.JLabel jLabel2 = new javax.swing.JLabel();
rightNum = new javax.swing.JLabel();
javax.swing.JLabel jLabel4 = new javax.swing.JLabel();
wrongNum = new javax.swing.JLabel();
javax.swing.JLabel jLabel1 = new javax.swing.JLabel();
scroe = new javax.swing.JLabel(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); mainPanel.setLayout(new java.awt.GridLayout(10, 3, 5, 5));
getContentPane().add(mainPanel, java.awt.BorderLayout.CENTER); jPanel2.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.LEFT)); refresh.setText("换题");
refresh.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
refreshActionPerformed(evt);
}
});
jPanel2.add(refresh); submit.setText("交卷");
submit.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
submitActionPerformed(evt);
}
});
jPanel2.add(submit); jLabel2.setText("对:");
jPanel2.add(jLabel2); rightNum.setText("0");
jPanel2.add(rightNum); jLabel4.setText("错:");
jPanel2.add(jLabel4); wrongNum.setText("0");
jPanel2.add(wrongNum); jLabel1.setText("得分:");
jPanel2.add(jLabel1); scroe.setText("0");
jPanel2.add(scroe); getContentPane().add(jPanel2, java.awt.BorderLayout.NORTH); pack();
}// </editor-fold> private void refreshActionPerformed(java.awt.event.ActionEvent evt) {
refreshSubjects();
} private void submitActionPerformed(java.awt.event.ActionEvent evt) {
submit();
} /**
* @param args the command line arguments
*/
public static void main(String args[]) {
try{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}catch(Exception e){}
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new SubjectFrame().setVisible(true);
}
});
} // Variables declaration - do not modify
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel mainPanel;
private javax.swing.JButton refresh;
private javax.swing.JLabel rightNum;
private javax.swing.JLabel scroe;
private javax.swing.JButton submit;
private javax.swing.JLabel wrongNum;
// End of variables declaration}
⑷ Java语言程序设计案例教程的目录
第1章 Java简介 1
1.1 Java的历史与语言结构 1
1.1.1 Java的发展简史 1
1.1.2 计算机语言的发展 2
1.1.3 Java语言的结构 2
1.1.4 Java语言的特点 3
1.2 Java的安装 3
1.2.1 Java语言的开发工具 3
1.2.2 安装Java 2 SDK 4
1.2.3 更新系统环境变量 7
1.3 Java的应用 10
1.3.1 Java应用程序与Java小程序 10
1.3.2 DOS 11
1.3.3 HTML 14
习题 18
第2章 Java编程入门 19
2.1 Java程序的结构 19
2.1.1 Java程序布局 19
2.1.2 Java源程序的组成 19
2.1.3 注解语句 20
2.1.4 打印语句 21
2.1.5 转义符号和统一码 21
2.2 变量和常量 23
2.2.1 数据类型 23
2.2.2 变量和常量 24
2.3 运算符和表达式 29
2.3.1 算术运算符和算术表达式 29
2.3.2 关系运算符和关系表达式 30
2.3.3 逻辑运算符和逻辑表达式 31
2.3.4 赋值运算符和赋值表达式 32
2.3.5 条件运算符和条件表达式 32
2.3.6 位运算符和位表达式 33
2.3.7 数据类型转换 34
2.3.8 优先级 37
2.4 对象变量 37
2.4.1 String类 38
2.4.2 Math类 39
2.4.3 字符串和数字的相互转换 40
2.4.4 键盘输入数据 41
习题 47
第3章 基本算法和流程控制 50
3.1 算法和控制结构 50
3.1.1 算法 50
3.1.2 算法的描述方法 51
3.2 选择结构语句 53
3.2.1 if语句 54
3.2.2 switch语句 57
3.3 循环结构语句 63
3.3.1 while语句 63
3.3.2 for语句 67
3.3.3 跳转语句 72
3.3.4 多重循环语句 73
3.4 应用实例 78
习题 90
第4章 数组和方法 96
4.1 数组 96
4.1.1 什么是数组 96
4.1.2 数组的使用 97
4.1.3 二维数组 100
4.1.4 什么是排序 104
4.2 方法 108
4.2.1 方法 108
4.2.2 递归 113
习题 117
第5章 面向对象程序设计 121
5.1 面向对象程序设计概述 121
5.1.1 什么是面向对象 121
5.1.2 常用术语的含义 121
5.1.3 程序设计过程 122
5.1.4 面向对象程序设计的特点 123
5.2 Java语言的面向对象程序设计 125
5.2.1 域 125
5.2.2 构造方法 127
5.2.3 方法 128
5.3 方法的使用和对象数组 134
5.3.1 调用方法 134
5.3.2 访问方法 136
5.3.3 方法重载 138
5.3.4 this 139
5.3.5 对象比较和对象数组 142
5.4 类的继承和多态 149
5.4.1 类继承的概念 149
5.4.2 类继承的实现 150
5.4.3 super 152
5.4.4 类的多态 154
5.5 包和访问控制符 156
5.5.1 包 156
5.5.2 常见系统包 157
5.5.3 访问控制符 158
5.6 接口 162
5.6.1 接口的概念 162
5.6.2 接口的实现 163
5.6.3 抽象类和抽象方法 164
习题 165
第6章 常见错误和异常处理 170
6.1 常见错误 170
6.1.1 编译错误 170
6.1.2 运行错误 171
6.1.3 逻辑错误 172
6.2 异常处理 173
6.2.1 什么是异常处理 173
6.2.2 Exception类 173
6.2.3 异常处理的过程 175
6.2.4 多异常的处理 179
6.2.5 自定义异常处理 179
习题 182
第7章 线程及其操作 184
7.1 线程的实现 184
7.1.1 线程的定义 184
7.1.2 创建线程 185
7.2 线程的状态及调度 192
7.2.1 线程的状态 192
7.2.2 线程的调度与优先级 194
7.2.3 控制线程 196
7.3 线程的同步 197
习题 198
第8章 图形用户界面的设计与实现 200
8.1 Java图形用户界面概述 200
8.2 标准组件 202
8.2.1 组件分类 202
8.2.2 容器类组件 202
8.2.3 控制组件 203
8.2.4 Component类 203
8.3 简单图形用户界面 204
8.3.1 Frame与Panel 204
8.3.2 字体设置 207
8.3.3 绘制简单图形 209
8.3.4 设置颜色 215
8.3.5 显示图像 217
8.4 Java事件处理 218
8.4.1 Java事件处理机制 218
8.4.2 按钮点击事件 221
8.4.3 捕获窗口事件 222
8.4.4 键盘事件 223
8.4.5 鼠标事件 225
8.4.6 焦点事件 227
8.4.7 事件适配器 229
8.5 布局管理 232
8.5.1 FlowLayout类 232
8.5.2 BorderLayout类 235
8.5.3 GridLayout类 237
8.5.4 CardLayout类 239
8.5.5 GridBagLayout类 242
8.6 常用标准组件 242
8.6.1 按钮 242
8.6.2 标签 245
8.6.3 文本组件 246
8.6.4 复选框 250
8.6.5 单选按钮 252
8.6.6 下拉列表 254
8.6.7 列表 255
8.6.8 滚动条 257
8.6.9 画布 258
8.6.10 对话框 259
8.6.11 文件对话框 260
8.7 Swing组件 260
8.7.1 JApplet类 262
8.7.2 JFrame类 262
8.7.3 JLabel类 263
8.7.4 JTextField类 264
8.7.5 JPasswordField类 265
8.7.6 JButton类 266
8.7.7 JCheckBox类 268
8.7.8 JRadioButton类 269
8.7.9 JComboBox类 270
习题 272
第9章 Applet基础 274
9.1 Java Applet概念 274
9.1.1 Java Applet的概念 274
9.1.2 Applet类 275
9.1.3 Applet的主要方法及生命周期 276
9.1.4 Applet标记 278
9.1.5 HTML与Applet参数传递 279
9.2 Applet绘制图形与图像处理 281
9.2.1 绘制图形 281
9.2.2 图像处理 285
9.3 Applet的其他应用 288
9.3.1 声音处理 288
9.3.2 动画特效 291
9.3.3 其他特效 296
习题 296
第10章 输入与输出 297
10.1 输入与输出基础 297
10.1.1 流的概念 297
10.1.2 字节流与字符流 297
10.1.3 标准输入/输出 300
10.2 文件输入/输出 302
10.2.1 Java文件和目录管理 302
10.2.2 文件输入/输出流 305
10.2.3 随机存取文件 307
习题 309
第11章 Java网络编程 311
11.1 网络基础 311
11.1.1 TCP/IP 311
11.1.2 通信端口 312
11.1.3 URL 313
11.1.4 客户机/服务器模式 313
11.1.5 Java网络编程 313
11.2 InetAddress编程 314
11.3 URL编程 316
11.3.1 创建URL对象 316
11.3.2 获取URL对象的属性 317
11.4 Socket编程 318
11.4.1 Socket与ServerSocket类 318
11.4.2 Socket通信 320
11.5 数据报通信 325
习题 326
⑸ Java语言程序设计综合案例题:学生信息管理系统
增删改查,最基本的东西,功能比较简单。
但是从头做起也得花不少时间。
前台后台,
建议你找个系统平台,然后再上面开发。
这样前台页面的设计,就不用你操心了。
你只需要业务逻辑的开发。
⑹ java程序设计
java语言就是做java程序设计的,可以设计出实现功能的函数类似的。
⑺ 简单的java程序设计,要求有结果图
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
publicclassTestMain{
publicstaticvoidmain(String[]args){
JFrameframe=newJFrame("计算平面图形的面积");
BorderLayoutborderLayout=newBorderLayout(20,20);
JPaneltopPanel=newJPanel();
frame.getContentPane().setLayout(borderLayout);
frame.add(topPanel,BorderLayout.NORTH);
JRadioButtonellipseButton=newJRadioButton("椭圆");
ellipseButton.setSelected(true);
JRadioButtonrectangleButton=newJRadioButton("长方形");
topPanel.add(ellipseButton);
topPanel.add(rectangleButton);
ButtonGroupgroup=newButtonGroup();
group.add(ellipseButton);
group.add(rectangleButton);
Boxh1=Box.createHorizontalBox();
JLabellabel1=newJLabel("请输入长:");
JTextFieldtextField1=newJTextField(26);
JLabellabel2=newJLabel("请输入宽:");
JTextFieldtextField2=newJTextField(26);
h1.add(label1);
h1.add(textField1);
Boxh2=Box.createHorizontalBox();
h2.add(label2);
h2.add(textField2);
BoxvBox=Box.createVerticalBox();
vBox.add(h1);
vBox.add(h2);
JButtoncalcButton=newJButton("计算");
vBox.add(Box.createVerticalStrut(10));
vBox.add(calcButton);
frame.add(vBox,BorderLayout.CENTER);
JPanelbottom=newJPanel();
Stringdescption="该图形的面积为:";
JLabelbottomLable=newJLabel(descption);
bottomLable.setBorder(BorderFactory.createLineBorder(Color.red));
bottom.add(bottomLable);
frame.add(bottom,BorderLayout.SOUTH);
calcButton.addActionListener(newActionListener(){
PlaneGrphicsshape;
@Override
publicvoidactionPerformed(ActionEvente){
StringlengthString=textField1.getText();
StringwidthString=textField2.getText();
doublelength=lengthString.isEmpty()?0:Double.parseDouble(lengthString);
doublewidth=widthString.isEmpty()?0:Double.parseDouble(widthString);
if(ellipseButton.isSelected()){
if(length==width){
shape=newEllipse(length);
}else{
shape=newEllipse(length,width);
}
}elseif(rectangleButton.isSelected()){
if(length==width){
shape=newRectangle(length);
}else{
shape=newRectangle(length,width);
}
}else{
}
Stringarea=descption+Math.round(shape.area()*100)/100.0+",该图形为:"+shape.getShape();
bottomLable.setText(area);
}
});
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
frame.setDefaultCloseOperation(3);
}
}
abstractclassPlaneGrphics{
privateStringshape;
publicabstractdoublearea();
publicPlaneGrphics(StringShape){
this.shape=Shape;
}
publicPlaneGrphics(){
this.shape="未知";
}
publicStringgetShape(){
returnshape;
}
}
{
privatedoublelength,width;
publicRectangle(doublelength,doublewidth){
super("长方形");
this.length=length;
this.width=width;
}
publicRectangle(doublewidth){
super("正方形");
this.length=width;
this.width=width;
}
@Override
publicdoublearea(){
returnlength*width;
}
}
{
privatedoubleradius_a,radius_b;
publicEllipse(doubleradius_a,doubleradius_b){
super("椭圆");
this.radius_a=radius_a;
this.radius_b=radius_b;
}
publicEllipse(doubleradius_a){
super("圆");
this.radius_a=radius_a;
this.radius_b=radius_a;
}
@Override
publicdoublearea(){
returnMath.PI*radius_a*radius_b;
}
}
⑻ java程序设计
成绩我定义成double了,另外平均分我给你保留两位小数:
public class Student {
private String No; //学号
private String name; //姓名
private String gender; //性别
private int age; //年龄
private double chinese; //语文
private double math; //数学
private double english; //英语
//构造函数
public Student(String no,
String name,
String gender,
int age,
double chinese,
double math,
double english) {
No = no;
this.name = name;
this.gender = gender;
this.age = age;
this.chinese = chinese;
this.math = math;
this.english = english;
}
@Override
public String toString() {
return "Student{" +
"No='" + No + ''' +
", name='" + name + ''' +
", gender='" + gender + ''' +
", age='" + age + ''' +
", chinese=" + chinese +
", math=" + math +
", english=" + english +
'}';
}
//计算总分
public double getSum() {
return this.chinese + this.math + this.english;
}
//计算平均分
public double getAverage() {
return (this.chinese + this.math + this.english) / 3;
}
}
测试类:
class Test {
public static void main(String[] args) {
Student student = new Student(
"20190001",
"张三",
"男",
18,
109.5,
89.0,
110.0);
double sum = student.getSum();
double average = student.getAverage();
System.out.println("该学生的信息为:" + student.toString());
System.out.println("该学生的总分为:" + sum);
System.out.println("该学生的平均分为:" + String.format("%.2f", average));
}
}
运行结果: