重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

java设计笔记的代码 java设计笔记的代码怎么写

Java帮我写下代码~

项目结构如下:

创新互联公司是一家集网站建设,锦江企业网站建设,锦江品牌网站建设,网站定制,锦江网站建设报价,网络营销,网络优化,锦江网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

代码如下

package main;

public class Course {

private String classNum;

private String credit;

private String startClassDate;

private String endClassDate;

private String teacher;

private String assessment;

public String getClassNum() {

return classNum;

}

public void setClassNum(String classNum) {

this.classNum = classNum;

}

public String getCredit() {

return credit;

}

public void setCredit(String credit) {

this.credit = credit;

}

public String getStartClassDate() {

return startClassDate;

}

public void setStartClassDate(String startClassDate) {

this.startClassDate = startClassDate;

}

public String getEndClassDate() {

return endClassDate;

}

public void setEndClassDate(String endClassDate) {

this.endClassDate = endClassDate;

}

public String getTeacher() {

return teacher;

}

public void setTeacher(String teacher) {

this.teacher = teacher;

}

public String getAssessment() {

return assessment;

}

public void setAssessment(String assessment) {

this.assessment = assessment;

}

@Override

public String toString() {

return " 课程号:" + classNum + ", 学分:" + credit

+ ", 上课时间:" + startClassDate + ", 下课时间:"

+ endClassDate + ", 教师:" + teacher + ",  考核方式:"

+ assessment + "";

}

}

package main;

import java.io.BufferedInputStream;

import java.io.BufferedReader;

import java.io.File;

import java.io.FileInputStream;

import java.io.InputStreamReader;

import java.math.BigDecimal;

import java.util.ArrayList;

import java.util.Arrays;

import java.util.List;

import java.util.Scanner;

public class Main {

public static void main(String[] args) throws Exception {

Scanner sc = new Scanner(System.in);   

System.out.println("创建学生请输入姓名:");  

Student stu1 = new Student();

stu1.setName(sc.nextLine());

Scanner sc1 = new Scanner(System.in);   

System.out.println("创建学生请输入学号:");

stu1.setNumber(sc1.nextLine());

System.out.println("请选择课程,课程如下:");

ListCourse list2 = new ArrayListCourse();

stu1.setCourses(list2);

ListCourse list = readTxt();

for (Course course : list) {

System.out.println(course.toString());

}

for (int i = 1; i  5; i++) {

System.out.println("请输入第"+i+"个课程号:");

//输入第一个课程号

list2 = handleClass(list, list2);

System.err.println("已选择成功!");

list = notSelectClass(list, list2);

System.out.println("请选择课程,课程如下:");

if(i==4){

break;

}

for (Course course : list) {

System.out.println(course.toString());

}

}

System.out.println("课程已选完!结果如下:");

System.err.println("学生:"+stu1.getName()+":");

for (Course course : list2) {

System.err.println(course.toString());

}

}

/**

* 查看未选择可选课程

* @param list 全部可选课程

* @param list2 已选课程

* @return

*/

private static ListCourse notSelectClass(ListCourse list,ListCourse list2){

for (int i = 0; i  list.size(); i++) {

for (Course course : list2) {

//把已选课程剔除

if(course.getClassNum().equals(list.get(i).getClassNum())){

list.remove(i);

continue;

}

//把时间重合课程剔除  startdate1 =enddate2 and enddate1=startdate2

if(daYuDengYu(course.getEndClassDate(),list.get(i).getStartClassDate())daYuDengYu(list.get(i).getEndClassDate(), course.getStartClassDate())){

list.remove(i);

}

}

}

return list;

}

public static boolean daYuDengYu(String first, String second){

BigDecimal bd1 = new BigDecimal(first);

BigDecimal bd2 = new BigDecimal(second);

return bd1点抗 pareTo(bd2)=0?true:false;

}

/**

* 处理选择课程

* @param list

* @param list2

* @return

*/

private static ListCourse handleClass(ListCourse list,ListCourse list2){

while (true) {

Scanner sssi = new Scanner(System.in);

String num = sssi.nextLine().trim();

for (Course course : list) {

if(num.equals(course.getClassNum())){

list2.add(course);

return list2;

}

}

System.out.println("课程号输入错误,请重新输入:");

}

}

/**

* 读取txt获取课程  每个课程按;分割每个属性按,分割

* @return

* @throws Exception

*/

private static ListCourse readTxt() throws Exception{

/* 读入TXT文件 */  

String pathname = Main.class.getResource("/").toString();

pathname = pathname.substring(6, pathname.length()-4)+"/src/classs/class.txt"; //获取绝对路径

File filename = new File(pathname); // 要读取以上路径的txt文件  

ListCourse list = new ArrayListCourse();

BufferedInputStream bis = new BufferedInputStream(new FileInputStream(filename));  

//读取文件内容  

byte[] b = new byte[bis.available()];  

bis.read(b);  

if(b!=null){

String [] strs= new String(b).split(";");

if (strs==null) {

return null;

}

for (String string : strs) {

String[] str = string.split(",");

Course course = new Course();

course.setAssessment(str[5].trim());

course.setClassNum(str[0].trim());

course.setCredit(str[1].trim());

course.setEndClassDate(str[3].trim());

course.setStartClassDate(str[2].trim());

course.setTeacher(str[4].trim());

list.add(course);

}

}

bis.close();//关闭流(关闭bis就可以了)  

return list;

}

}

package main;

import java.util.List;

public class Student {

private String name;

private String number;

private ListCourse courses;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getNumber() {

return number;

}

public void setNumber(String number) {

this.number = number;

}

public ListCourse getCourses() {

return courses;

}

public void setCourses(ListCourse courses) {

this.courses = courses;

}

}

001,1,7,8,Joyce,assignment;

002,1,8,9,Joyce,assignment;

003,1,12,15,Joyce,assignment;

004,1,18,19,Joyce,assignment;

005,1,7,8,LI,assignment;

006,1,8,9,LI,assignment;

007,1,12,15,LI,assignment;

008,1,18,19,LI,assignment;

求一个用Java编写的简易笔记本代码。跪求

import java.awt.*;

import java.awt.event.*;

import java.io.*;

import javax.swing.*;

public class MyNotepad implements ActionListener

{

private JFrame frame=new JFrame("新记事本");

private JTextArea jta=new JTextArea();

private String result="";

private boolean flag=true;

private File f;

private JButton jb=new JButton("开始");

private JTextField jtf=new JTextField(15);

private JTextField jt=new JTextField(15);

private JButton jbt=new JButton("替换为");

private JButton jba=new JButton("全部替换");

private Icon ic=new ImageIcon("D:\\java课堂笔记\\GUI\\11.gif");

private String value;

private int start=0;

private JFrame jf=new JFrame("查找");

private JFrame jfc=new JFrame("替换");

@Override

public void actionPerformed(ActionEvent e) 

{

String comm=e.getActionCommand();

if("新建".equals(comm))

{

if(!(frame.getTitle().equals("新记事本")))

{

if(!flag)

{

write();

newNew();

}

else

{

JFileChooser jfc=new JFileChooser("D:\\java课堂笔记");

int returnVal = jfc.showDialog(null,"保存为");

if(returnVal == JFileChooser.APPROVE_OPTION) 

{//选择文件后再执行下面的语句,保证了程序的健壮性

f=jfc.getSelectedFile();

flag=false;

write();

}

}

}

else if(!(jta.getText().isEmpty()))

{

JFileChooser jfc=new JFileChooser("D:\\java课堂笔记");

int returnVal = jfc.showDialog(null,"保存为");

if(returnVal == JFileChooser.APPROVE_OPTION) 

{//选择文件后再执行下面的语句,保证了程序的健壮性

f=jfc.getSelectedFile();

flag=false;

write();

newNew();

}

}

else

{

newNew();

}

}

else if("打开".equals(comm))

{

JFileChooser jfc=new JFileChooser("D:\\java课堂笔记");

jfc.setDialogType(JFileChooser.OPEN_DIALOG);

int returnVal = jfc.showOpenDialog(null);

if(returnVal == JFileChooser.APPROVE_OPTION)

{//选择文件后再执行下面的语句,保证了程序的健壮性

f=jfc.getSelectedFile();

frame.setTitle(f.getName());

result=read();

flag=false;

value=result;

jta.setText(result);

}

}else if("保存".equals(comm))

{

JFileChooser jfc=new JFileChooser("D:\\java课堂笔记");

if(flag)

{

int returnVal = jfc.showDialog(null,"保存为");

if(returnVal == JFileChooser.APPROVE_OPTION)

{//选择文件后再执行下面的语句,保证了程序的健壮性

f=jfc.getSelectedFile();

flag=false;

write();

}

}

else

{

write();

}

}

else if("另存".equals(comm))

{

JFileChooser jfc=new JFileChooser("D:\\java课堂笔记");

int returnVal = jfc.showDialog(null,"另存");

if(returnVal == JFileChooser.APPROVE_OPTION) 

{//选择文件后再执行下面的语句,保证了程序的健壮性

f=jfc.getSelectedFile();

write();

}

}

else if("退出".equals(comm))

{

System.exit(0);

}

else if("撤销".equals(comm))

{

jta.setText(value);

}

else if("剪切".equals(comm))

{

value=jta.getText();

jta.cut();

}

else if("复制".equals(comm))

{

jta.copy();

}

else if("粘贴".equals(comm))

{

value=jta.getText();

jta.paste();

}

else if("删除".equals(comm))

{

value=jta.getText();

jta.replaceSelection(null);

}

else if("全选".equals(comm))

{

jta.selectAll();

}

else if("查找".equals(comm))

{

value=jta.getText();

jf.add(jtf,BorderLayout.CENTER);

jf.add(jb,BorderLayout.SOUTH);

jf.setLocation(300,300);

jf.pack();

jf.setVisible(true);

jf.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

}

else if("替换".equals(comm))

{

value=jta.getText();

GridLayout gl=new GridLayout(3,3);

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

JLabel jl2=new JLabel("替换为:");

jfc.setLayout(gl);

jfc.add(jl1);

jfc.add(jtf);

jfc.add(jb);

jfc.add(jl2);

jfc.add(jt);

jfc.add(jbt);

JLabel jl3=new JLabel();

JLabel jl4=new JLabel();

jfc.add(jl3);

jfc.add(jl4);

jfc.add(jba);

jfc.setLocation(300,300);

jfc.pack();

jfc.setVisible(true);

jfc.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

}

else if("版本".equals(comm))

{

JDialog jd=new JDialog(frame,"关于对话框");

jd.setSize(200,200);

JLabel l=new JLabel("哈哈哈哈哈哈哈哈哈哈呵呵呵呵呵呵呵呵呵呵呵呵呵");

jd.add(l,BorderLayout.CENTER);

jd.setLocation(100,200);

jd.setSize(300,300);

jd.setVisible(true);

//  jd.pack();

jd.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);

}

else if("开始".equals(comm)||"下一个".equals(comm))

{

String temp=jtf.getText();

int s=value.indexOf(temp,start);

if(value.indexOf(temp,start)!=-1)

{

jta.setSelectionStart(s);

jta.setSelectionEnd(s+temp.length());

jta.setSelectedTextColor(Color.GREEN);

start=s+1;

jb.setText("下一个");

//  value=value.substring(s+temp.length());//不能截取字串

}

else 

{

JOptionPane.showMessageDialog(jf, "查找完毕!", "提示", 0, ic);

jf.dispose();

}

}

else if("替换为".equals(comm))

{

String temp=jtf.getText();

int s=value.indexOf(temp,start);

if(value.indexOf(temp,start)!=-1)

{

jta.setSelectionStart(s);

jta.setSelectionEnd(s+temp.length());

jta.setSelectedTextColor(Color.GREEN);

start=s+1;

jta.replaceSelection(jt.getText());

}

else

{

JOptionPane.showMessageDialog(jf, "查找完毕!", "提示", 0, ic);

jf.dispose();

}

}

else if("全部替换".equals(comm))

{

String temp=jta.getText();

temp=temp.replaceAll(jtf.getText(), jt.getText());

jta.setText(temp);

}

}

public String read()

{

String temp="";

try 

{

FileInputStream fis = new FileInputStream(f.getAbsolutePath());

byte[] b=new byte[1024];

while(true)

{

int num=fis.read(b);

if(num==-1)

break;

temp=temp+new String(b,0,num);

}

fis.close();

}

catch (Exception e1)

{

e1.printStackTrace();

}

return temp;

}

public void write()

{

try

{

FileOutputStream fos=new FileOutputStream(f);

fos.write(jta.getText().getBytes());

fos.close();

}

catch (Exception e)

{

e.printStackTrace();

}

}

public void newNew()

{

frame.dispose();

new MyNotepad();

flag=true;

}

public MyNotepad()

{

JMenuBar jmb=new JMenuBar();

String[] menuLab={"文件","编辑","帮助"};

String[][] menuItemLab={{"新建","打开","保存","另存","退出"},

{"撤销","剪切","复制","粘贴","删除","全选","查找","替换"},

{"版本"}};

for(int i=0;imenuLab.length;i++)

{

JMenu menu=new JMenu(menuLab[i]);

jmb.add(menu);

for(int j=0;jmenuItemLab[i].length;j++)

{

JMenuItem jmi=new JMenuItem(menuItemLab[i][j]);

menu.add(jmi);

jmi.addActionListener(this);

}

}

frame.setJMenuBar(jmb);

jta.setLineWrap(true);//自动换行

JScrollPane jsp=new JScrollPane(jta);//滚动窗口面板

frame.add(jsp);

jb.addActionListener(this);

jbt.addActionListener(this);

jba.addActionListener(this);

frame.setLocation(200,50);

frame.setSize(620,660);

frame.setVisible(true);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

public static void main(String[] args)

{

new MyNotepad();

}

}

急求java设计模式,要求用到两种设计模式 求详细代码

.饿汉式单例类

//饿汉式单例类.在类初始化时,已经自行实例化

public class Singleton1 {

//私有的默认构造子

private Singleton1() {}

//已经自行实例化

private static final Singleton1 single = new Singleton1();

//静态工厂方法

public static Singleton1 getInstance() {

return single;

}

}

2.懒汉式单例类

//懒汉式单例类.在第一次调用的时候实例化

public class Singleton2 {

//私有的默认构造子

private Singleton2() {}

//注意,这里没有final

private static Singleton2 single=null;

//静态工厂方法

public synchronized static Singleton2 getInstance() {

if (single == null) {

single = new Singleton2();

}

return single;

}

}

//对懒汉式单例的改进(错误的改进)

//实际上,只有在第一次创建对象的时候需要加锁,之后就不需要了 ,这样可以提升性能

public synchronized static Singleton2 getInstance() {

if (instance == null) {

synchronized(instance){ //锁住当前实例对象

if(instance == null){

instance = new Singleton2();

}

}

}

return instance;

}

错误原因:

aA、B线程同时进入了第一个if判断

bA首先进入synchronized块,由于instance为null,所以它执行instance = new Singleton();

c由于JVM内部的优化机制,JVM先画出了一些分配给Singleton实例的空白内存,并赋值给instance成员(注意此时JVM没有开始初始化这个实例),然后A离开了synchronized块。

dB进入synchronized块,由于instance此时不是null,因此它马上离开了synchronized块并将结果返回给调用该方法的程序。

e此时B线程打算使用Singleton实例,却发现它没有被初始化,于是错误发生了。

正确改进(使用内部类):

JVM内部的机制能够保证当一个类被加载的时候,这个类的加载过程是线程互斥的,JVM能够帮我们保证instance只被创建一次,

并且会保证把赋值给instance的内存初始化完毕,这样我们就不用担心上面的问题。

同时该方法也只会在第一次调用的时候使用互斥机制,这样就解决了低性能问题

public?class?Singleton?{??

??

/*?私有构造方法,防止被实例化?*/??

private?Singleton(){

}

/*?此处使用一个内部类来维护单例?*/??

private?static?class?SingletonFactory?{??

private?static?Singleton?instance?=?new?Singleton();??

}

/*?获取实例?*/??

public?static?Singleton?getInstance()?{??

return?SingletonFactory.instance;??

}

/*?如果该对象被用于序列化,可以保证对象在序列化前后保持一致?*/??

public?Object?readResolve()?{??

return?getInstance();??

}

}

其实说它完美,也不一定,如果在构造函数中抛出异常,实例将永远得不到创建,也会出错????

第二种改进:

因为我们只需要在创建类的时候进行同步,所以只要将创建和getInstance()分开,

单独为创建加synchronized关键字,也是可以的

public class Singleton {

private static Singleton instance=null;

private Singleton(){}

private static synchronized void Init(){

if(instance==null)

instance=new Singletion();

}

public static Singleton getInstance(){

if(instance==null){

Init();

}

return instance;

}

}

3.登记式单例类

import java.util.HashMap;

import java.util.Map;

//登记式单例类.

//类似Spring里面的方法,将类名注册,下次从里面直接获取。

public class Singleton3 {

private static MapString,Singleton3 map = new HashMapString,Singleton3();

static{

Singleton3 single = new Singleton3();

map.put(single.getClass().getName(), single);

}

//保护的默认构造子

protected Singleton3(){}

//静态工厂方法,返还此类惟一的实例

public static Singleton3 getInstance(String name) {

if(name == null) {

name = Singleton3.class.getName();

System.out.println("name == null"+"---name="+name);

}

if(map.get(name) == null) {

try {

map.put(name, (Singleton3) Class.forName(name).newInstance());

} catch (InstantiationException e) {

e.printStackTrace();

} catch (IllegalAccessException e) {

e.printStackTrace();

} catch (ClassNotFoundException e) {

e.printStackTrace();

}

}

return map.get(name);

}

//一个示意性的商业方法

public String about() {

return "Hello, I am RegSingleton.";

}

public static void main(String[] args) {

Singleton3 single3 = Singleton3.getInstance(null);

System.out.println(single3.about());

}

}

java课程设计题目及代码是什么?

java课程设计题目及代码分别是:

1、题目:计算器。设计内容是设计一个图形界面(GUI)的计算器应用程序,完成简单的算术运算。

设计要求是设计的计算器应用程序可以完成家法、减法、乘法、除法和取余运算。且有小数点、正负号、求倒数、退格和清零功能。

2、代码:

数字按钮NumberButton类如下:

import java.awt.

import java.awt.event.

import javax.swing.

public class NumberButton extends Button.

{

int number.

public NumberButton(int number).

{

super(""+number).

this.number=number.

setForeground(Color.blue).

}

public int getNumber().

{

return number;

}

}

其它java课程设计题目及代码是:

题目:华容道。编写一个按钮的子类,使用该子类创建的对象代表华容道中的人物。通过焦点事件控制人物颜色,当人物获得焦点时颜色为蓝色,当失去焦点时颜色为灰色。

通过键盘事件和鼠标事件来实现曹操、关羽等人物的移动。当人物上发生鼠标事件或键盘事件时,如果鼠标指针的位置是在人物的下方(也就是组件的下半部分)或按下键盘的“↓“键,该人物向下移动。向左、向右和向上的移动原理类似。

代码是:

String name[]={"曹操","关羽","张","刘","马","许","兵","兵","兵","兵"}.

for(int i=0;iname.length;i++).

{

person[i]=new Person(i,name[i]).

person[i].addKeyListener(this).

person[i].addMouseListener(this).

//     person[i].addFocusListener(new Person).

add(person[i]).

}

person[0].setBounds(104,54,100,100).

person[1].setBounds(104,154,100,50).

person[2].setBounds(54,154,50,100).

person[3].setBounds(204,154,50,100).

person[4].setBounds(54,54,50,100).

person[5].setBounds(204,54,50,100);

person[6].setBounds(54,254,50,50);

person[7].setBounds(204,254,50,50);

person[8].setBounds(104,204,50,50);

person[9].setBounds(154,204,50,50);


本文名称:java设计笔记的代码 java设计笔记的代码怎么写
文章起源:http://cqcxhl.com/article/ddpooos.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP