导航:首页 > 编程语言 > javaatm课程设计报告

javaatm课程设计报告

发布时间:2023-05-05 18:12:43

Ⅰ 急求一份java课程设计,结课大作业,最近有考试,时间不够,来不及做了。谢谢啦!邮箱573762475@qq.com

Java课程设计报告
题 目: 计算器
院(系):xxx学院
年级专业: xxx班
学生姓名: xxx
指导老师: xx老师
开始时间: 200x-xx-xx
完成时间: 200x-xx-xx
目 录
1. 摘 要
2. 概要设计
3. 详细设计
4. 测试分析
5. 参考文献
一、摘 要
本计算器可以进行简单的四则运算(加、减、乘、除)但仅限于十进制下,还可以进行(八进制,十进制,十六进制)之间的相互转换,八进制最多可以输入19位数,十进制最多可以输入18位数,十六进制最多可以输入14位数,backspace表示退格, clear表示初始化,在window下直接运行(jsp2003.bat)即可,界面为灰白对称。
二、概要设计
(1) 自定义类说明
**********************************************************
* 类名: This_number_too_big *
* 作用: 自定义的异常类,用来处理计算结果溢出 *
* 继承的父类: Exception类 *
* 实现的接口: 没有 *
**********************************************************
class This_number_too_big extends Exception
{
}//自定义的一个结果溢出异常类
**********************************************************
* 类名: Jsp2003 *
* 作用: 主类。 *
* 继承的父类: Frame类 *
* 实现的接口: ItemListener类,ActionListener类 *
**********************************************************
class Jsp2003 extends Frame implements ItemListener,ActionListener
{
public int number=0,length=18;
//number是用来记录输入的数字个数,
//length是用来设置在不同进制下允许输入的最多数字位数,默认为十进制 public char mark='n';
//设置运算符号为没有即为‘n’,它的值是‘+’‘-’‘*’‘/’
public double data=0;
//设置运算数据为零
public char ch;
//用来临时存放所按按钮的第一个字符
public boolean Refresh=false;
//设置lab是否要在输入数据的时候刷新,初始为否
主要方法说明:
------------------------------------------------------------------------------------------------
//用来处理按了运算符后的计算-
public void js() throws This_number_too_big //指定由method抛出异常
{if (mark=='n') //没有运算符
{mark=ch; //,则设置运算符为刚刚输入的字符,
data=Double.parseDouble(lab.getText());//则设置运算数据为lab的值
Refresh=true;//则设置下一次输入的时候要刷新lab
}
else //如果采用的是连续运算(即没有使用‘=’号)则运行下面的语句
{switch (mark) //根据运算符计算结果,并把结果保存到data
{ case '+': data+=Double.parseDouble(lab.getText()); break;
case '-': data-=Double.parseDouble(lab.getText()); break;
case '*': data*=Double.parseDouble(lab.getText()); break;
case '/': data/=Double.parseDouble(lab.getText()); break;}
lab.setText(Double.toString(data)); //显示运算结果
mark=ch;//设置运算符为刚刚按下的运算符
Refresh=true;//则设置下一次输入的时候要刷新lab
number=lab.getText().length();//设置输入的字符个数
// System.out.println(lab.getText());//用来调试用的
if (data>Double.MAX_VALUE)
//如果data超过double类型的最大值则抛出自定义的一个异常类

}
}//end js() method
----------------------------------------------------------------------------------------------------
public void enter()//处理输入字符
{if(Refresh==true)
//如果已经设置了 运算符则在下一次输入数据的时候要把以前lab的内容清除掉

if(lab.getText().charAt(0)=='0'&& lab.getText().length()==1)
//如果lab的内容为0则,lab的内容将被所输入的字符代替,
//否则直接在lab的内容后面加上所输入的字符

else
if(number<length)

}//end enter() method
--------------------------------------------------------------------------------------------------------
//八进制或十六进制转换成十进制I
public String goto_10(String s,long l)
//参数s: 是要转换的字符串,由于输入的控制,保证了字符串的合法性;
//参数l: 使用来设置是将8进制还是16进制转换成10进制,它的有效值为8或16;
{ String str=s; //用来转换的字符串
long j=l; //表示进制
long lg=0,jing=1;//lg用来记录权乘和,jing用来记录位权
char cha;//临时记录要转换的字符
for(int i=1;i<=str.length();i++)
{ cha=str.charAt(str.length()-i);
switch(cha)
{ case '1': lg=lg+1*jing;break;
case '2': lg=lg+2*jing;break;
case '3': lg=lg+3*jing;break;
case '4': lg=lg+4*jing;break;
case '5': lg=lg+5*jing;break;
case '6': lg=lg+6*jing;break;
case '7': lg=lg+7*jing;break;
case '8': lg=lg+8*jing;break;
case '9': lg=lg+9*jing;break;
case 'A': lg=lg+10*jing;break;
case 'B': lg=lg+11*jing;break;
case 'C': lg=lg+12*jing;break;
case 'D': lg=lg+13*jing;break;
case 'E': lg=lg+14*jing;break;
case 'F': lg=lg+15*jing;break;}
jing*=j; //位权升一级,为下次使用做好准备
}
return Long.toString(lg);
}//end String goto_10() method
}
(2)程序流程图

三、详细设计
import java.awt.*;
import java.awt.event.*;
class This_number_too_big extends Exception
{}//自定义的一个结果溢出异常类
class Jsp2003 extends Frame implements ItemListener,ActionListener {
public Jsp2003() {
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
dispose();
System.exit(0);
}
});
}
static Jsp2003 mainFrame = new Jsp2003();
static Label lab=new Label("0");
static Panel pnl1=new Panel(new GridLayout(4,3,3,3));
static Panel pnl2=new Panel(new GridLayout(4,1,3,3));
static Panel pnl3=new Panel(new GridLayout(1,2,3,3));
static Panel pnl4=new Panel(new GridLayout(6,1,3,3));
static Button bt9=new Button("9");
static Button bt8=new Button("8");
static Button bt7=new Button("7");
static Button bt6=new Button("6");
static Button bt5=new Button("5");
static Button bt4=new Button("4");
static Button bt3=new Button("3");
static Button bt2=new Button("2");
static Button bt1=new Button("1");
static Button bt0=new Button("0");
static Button btdot=new Button(".");
static Button btequ=new Button("=");
static Button btadd=new Button("+");
static Button btsub=new Button("-");
static Button btmul=new Button("*");
static Button btdev=new Button("/");
static Button btA=new Button("A");
static Button btB=new Button("B");
static Button btC=new Button("C");
static Button btD=new Button("D");
static Button btE=new Button("E");
static Button btF=new Button("F");
static Checkbox ckb8=new Checkbox("八进制");
static Checkbox ckb10=new Checkbox("十进制");
static Checkbox ckb16=new Checkbox("十六进制");
static Button btc=new Button("clear");
static Button btt=new Button("backspace");
public int number=0,length=18;
//number是用来记录输入的数字个数,length是用来设置在不同进制下允许输入的最多数字位数,默认为十进制
public char mark='n'; //设置运算符号为没有即为‘n’,它的值是‘+’‘-’‘*’‘/’
public double data=0; //设置运算数据为零
public char ch; //用来临时存放所按按钮的第一个字符
public boolean Refresh=false;//设置lab是否要在输入数据的时候刷新,初始为否
public static void main(String args[]) {
System.out.println("Starting Jsp2003...");
lab.setAlignment(Label.RIGHT);
lab.setBackground(Color.lightGray);
lab.setForeground(Color.BLUE);
lab.setFont(new Font("Serief",Font.BOLD,18));
lab.setBounds(14,33,216,40);
mainFrame.add(lab);
CheckboxGroup grp=new CheckboxGroup();
ckb8.setCheckboxGroup(grp);
ckb10.setCheckboxGroup(grp);
ckb16.setCheckboxGroup(grp);
ckb8.setBounds(14,75,55,25);
ckb10.setBounds(69,75,55,25);
ckb16.setBounds(124,75,65,25);
ckb8.setState(false);
ckb10.setState(true);
ckb16.setState(false);
mainFrame.add(ckb8);
mainFrame.add(ckb10);
mainFrame.add(ckb16);
pnl1.setBounds(14,140,120,150);
pnl2.setBounds(144,140,40,150);
pnl3.setBounds(14,100,170,36);
pnl4.setBounds(190,100,40,190);
pnl1.add(bt7);
pnl1.add(bt8);
pnl1.add(bt9);
pnl1.add(bt4);
pnl1.add(bt5);
pnl1.add(bt6);
pnl1.add(bt1);
pnl1.add(bt2);
pnl1.add(bt3);
pnl1.add(bt0);
pnl1.add(btdot);
pnl1.add(btequ);
pnl2.add(btadd);
pnl2.add(btsub);
pnl2.add(btmul);
pnl2.add(btdev);
pnl3.add(btt);
pnl3.add(btc);
pnl4.add(btA);
pnl4.add(btB);
pnl4.add(btC);
pnl4.add(btD);
pnl4.add(btE);
pnl4.add(btF);
btA.enable(false);
btB.enable(false);
btC.enable(false);
btD.enable(false);
btE.enable(false);
btF.enable(false);
mainFrame.add(pnl1);
mainFrame.add(pnl2);
mainFrame.add(pnl3);
mainFrame.add(pnl4);
mainFrame.setResizable(false);
mainFrame.setLayout(null);
mainFrame.setSize(240,300 );
mainFrame.setTitle("计算器");
mainFrame.setVisible(true);
ckb8.addItemListener(mainFrame);
ckb10.addItemListener(mainFrame);
ckb16.addItemListener(mainFrame);
//把事件聆听者向各个组键注册
bt1.addActionListener(mainFrame);
bt2.addActionListener(mainFrame);
bt3.addActionListener(mainFrame);
bt4.addActionListener(mainFrame);
bt5.addActionListener(mainFrame);
bt6.addActionListener(mainFrame);
bt7.addActionListener(mainFrame);
bt8.addActionListener(mainFrame);
bt9.addActionListener(mainFrame);
bt0.addActionListener(mainFrame);
btadd.addActionListener(mainFrame);
btsub.addActionListener(mainFrame);
btmul.addActionListener(mainFrame);
btdev.addActionListener(mainFrame);
btt.addActionListener(mainFrame);
btc.addActionListener(mainFrame);
btdot.addActionListener(mainFrame);
btequ.addActionListener(mainFrame);
btA.addActionListener(mainFrame);
btB.addActionListener(mainFrame);
btC.addActionListener(mainFrame);
btD.addActionListener(mainFrame);
btE.addActionListener(mainFrame);
btF.addActionListener(mainFrame);
}// end main() mothed
//---------------------------------------------
//checkbox 事件的处理
public void itemStateChanged(ItemEvent e)
{ mark='n';
Refresh=false;
//规定当进制转换时以前输入的运算符失效
if (ckb8.getState()==true)
{ btA.enable(false);
btB.enable(false);
btC.enable(false);
btD.enable(false);
btE.enable(false);
btF.enable(false);
bt9.enable(false);
bt8.enable(false);
btdot.enable(false);
btadd.enable(false);
btmul.enable(false);
btsub.enable(false);
btdev.enable(false);
btequ.enable(false);
//在八进制的情况下对有些按件的管理
if(length==18) { lab.setText(goto10_8(lab.getText()));
number=lab.getText().length();
}
if(length==14) { lab.setText(goto_10(lab.getText(),16L));
lab.setText(goto10_8(lab.getText()));
number=lab.getText().length();
}
//将其他进制转换成八进制
length=19;
//在八进制下允许输入数字个数最多为19位
}
if(ckb10.getState()==true)
{ btA.enable(false);
btB.enable(false);
btC.enable(false);
btD.enable(false);
btE.enable(false);
btF.enable(false);
bt9.enable(true);
bt8.enable(true);
btdot.enable(true);
btadd.enable(true);
btmul.enable(true);
btsub.enable(true);
btdev.enable(true);
btequ.enable(true);
//在十进制的情况下对有些按件的管理
if(length==19) { lab.setText(goto_10(lab.getText(),8L));
number=lab.getText().length();}
if(length==14) { lab.setText(goto_10(lab.getText(),16L));
number=lab.getText().length();}
//进制转换成十进制
length=18;
//在十进制下允许输入数字个数最多为18位
}
if(ckb16.getState()==true)
{ btA.enable(true);
btB.enable(true);
btC.enable(true);
btD.enable(true);
btE.enable(true);
btF.enable(true);
bt9.enable(true);
bt8.enable(true);
btdot.enable(false);
btadd.enable(false);
btmul.enable(false);
btsub.enable(false);
btdev.enable(false);
btequ.enable(false);
//在十六进制的情况下对有些按件的管理
if(length==18) { lab.setText(goto10_16(lab.getText()));
number=lab.getText().length();}
if(length==19) { lab.setText(goto_10(lab.getText(),8L));
lab.setText(goto10_16(lab.getText()));
number=lab.getText().length();}
//将其他进制转换成十六进制
length=14;
//在十六进制下允许输入数字个数最多为14位
}
}//end itemStateChanged(ItemEvent e) method
//------------------------------------------------------------
//按钮事件的处理
public void actionPerformed(ActionEvent m)
{
Button btn=(Button) m.getSource();
ch=btn.getLabel().charAt(0);
switch (ch)
break;//初始化
case '1': enter(); break;
case '2': enter(); break;
case '3': enter(); break;
case '4': enter(); break;
case '5': enter(); break;
case '6': enter(); break;
case '7': enter(); break;
case '8': enter(); break;
case '9': enter(); break;
case '0':
if(lab.getText().charAt(0)=='0'&& lab.getText().length()==1)
break;
if(number<length)
else break;
} break;
case 'A': enter(); break;
case 'B': enter(); break;
case 'C': enter(); break;
case 'D': enter(); break;
case 'E': enter(); break;
case 'F': enter(); break;
case '.': {if(Refresh==true)
if(lab.getText().indexOf('.')== -1)

else
break;
}
break;
case 'b': {if(number==0) break;
else

else
{if (number!=1) lab.setText(lab.getText().substring(0,number));
else
lab.setText(Character.toString(lab.getText().charAt(0)));}
}
}break;
case '+': try

catch(This_number_too_big e)
{lab.setText("0"); number=0; mark='n';
Refresh=false; System.out.println("The number is too big");} break;
//如果出现异常则初始化效果如同clear键
case '-': try

catch(This_number_too_big e)
{lab.setText("0"); number=0; mark='n';
Refresh=false; System.out.println("The number is too big");} break;
//如果出现异常则初始化效果如同clear键
case '*': try

catch(This_number_too_big e)
{lab.setText("0"); number=0; mark='n';
Refresh=false; System.out.println("The number is too big");} break;
//如果出现异常则初始化效果如同clear键
case '/': try

catch(This_number_too_big e)
{lab.setText("0"); number=0; mark='n';
Refresh=false; System.out.println("The number is too big");} break;
//如果出现异常则初始化效果如同clear键
case '=': try

catch(This_number_too_big e)
{lab.setText("0"); number=0; mark='n';
Refresh=false; System.out.println("The number is too big");} break;
//如果出现异常则初始化效果如同clear键
}

Ⅱ 急!Java 题库维护系统课程报告

importjava.io.BufferedReader;
importjava.io.BufferedWriter;
importjava.io.File;
importjava.io.FileReader;
importjava.io.FileWriter;
importjava.io.IOException;
importjava.text.SimpleDateFormat;
importjava.util.ArrayList;
importjava.util.Date;
importjava.util.List;
importjava.util.Scanner;


publicclassMain{
publicstaticfinalStringDATE_FORMAT="MM月dd日";
=newScanner(System.in);
publicstaticList<Item>itemList=null;
="d:/item.txt";
publicstaticinttotal;
privatestaticintcurrent=1;

publicstaticvoidmain(String[]args){
try{
process();
}catch(IOExceptione){
e.printStackTrace();
}
}

privatestaticvoidinit()throwsIOException{
itemList=ItemReaderWriter.readItemsFromFile(itemPath);
total=itemList.size();
}

privatestaticvoidprocess()throwsIOException{
show();
Stringc=getInput();
while(!c.equals("a")&&!c.equals("i")&&!c.equals("d")&&!c.equals("l")){
System.err.println("输入错误!请输入a/i/d/l");
process();
}

if("a".equals(c)){
aOperation();
}
elseif("i".equals(c)){
iOperation();
}
elseif("d".equals(c)){
dOperation();
}
elseif("l".equals(c)){
lOperation();
}

}
privatestaticvoidprint(String...msg){
if(msg!=null&&msg.length>0){
System.out.println(msg[0]);
}
else{
System.out.println();
}
}
private缓燃staticStringgetDateNow(){
SimpleDateFormatsdf=new神哪友SimpleDateFormat(DATE_FORMAT);
returnsdf.format(newDate());
}
privatestaticvoidshow(){
print("/********************************************************/");
StringdateStr游槐=getDateNow();
print("题库维护系统今天"+dateStr+"..........");
print("请选择相关操作:");
print("1.添加题目按键盘字符(a)");
print("2.导入题目按键盘字符(i)");
print("3.删除题目按键盘字符(d)");
print("4.显示题目按键盘字符(l)");
print("/********************************************************/");
}
privatestaticvoidaOperation()throwsIOException{
init();
print("***********************************************************");
print("添加题目,题库已有试题"+total+"条,当前录入第"+current+"条");
print("***********************************************************");
print("请输入题目:");
Stringtitle=(total+1)+"."+getInput();
print("请输入选项A:");
Stringa="A."+getInput();
print("请输入选项B:");
Stringb="B."+getInput();
print("请输入选项C:");
Stringc="C."+getInput();
print("请输入选项D:");
Stringd="D."+getInput();

Itemitem=newItem(title,a,b,c,d);
System.out.println(item);
ItemReaderWriter.writeToFile(item,itemPath);
total+=1;
current+=1;

print("输入成功,否继续输入?(y/n)");
Strings=getInput();
if("y".equals(s)){
aOperation();
}
else{
process();
}
}

privatestaticvoidiOperation()throwsIOException{
init();
print("请输入需要导入题库文件路径:");
Stringpath=getInput();
Filef=newFile(path);
if(!f.exists()){
thrownewIOException("不是一个有效的路径!");
}
else{
try{
ItemReaderWriter.importToFile(itemPath,path,total);
print("题库导入成功!");
}catch(Exceptione){
System.err.println("题库导入失败!"+e.getMessage());
e.printStackTrace();
}
}
process();
}

privatestaticvoiddOperation()throwsIOException{
init();
print("***********************************************************");
print("删除题目");
print("***********************************************************");
print("请输入所需删除题号:");
StringnumStr=getInput();
intnum=0;
try{
num=Integer.valueOf(numStr);

ItemReaderWriter.deleteByNum(itemPath,num);
print("删除试题成功!");
}catch(NumberFormatExceptione){
System.err.println("输入的不是有效的题号!");
e.printStackTrace();
}catch(IOExceptionee){
System.out.println("删除题目失败!"+ee);
ee.printStackTrace();
}
process();
}

privatestaticvoidlOperation()throwsIOException{
init();
print("***********************************************************");
if(itemList==null||itemList.size()==0){
print("目前题库中没有题目!");
return;
}
print("目前题库中共有"+itemList.size()+"道试题!");
for(inti=0;i<itemList.size();i++){
Itemitem=itemList.get(i);
print(item.getTitle());
print(item.getA());
print(item.getB());
print(item.getC());
print(item.getD());
print();
}
print("***********************************************************");
process();
}

privatestaticStringgetInput(){
Stringcstr=scanner.next();
while(cstr==null||cstr.trim().length()==0){
print("请输入内容!");
cstr=scanner.next();
}
returncstr;
}


}

finalclassItemReaderWriter{
//假定题目的格式如下:
//题目表述:
//选项A:
//选项B:
//选项C:
//选项D:
//1道题有5行组成
publicstaticList<Item>readItemsFromFile(StringfilePath)throwsIOException{
Filef=newFile(filePath);
if(!f.exists()){
f.createNewFile();
}
List<Item>itemList=newArrayList<Item>();
BufferedReaderbr=newBufferedReader(newFileReader(filePath));
Stringline=null;

while((line=br.readLine())!=null){
//标题
Stringtitle=line;
//选项A
Stringa=line=br.readLine();
//选项B
Stringb=line=br.readLine();
//选项C
Stringc=line=br.readLine();
//选项D
Stringd=line=br.readLine();
Itemitem=newItem(title,a,b,c,d);
itemList.add(item);

//空行,每题之间空一行
line=br.readLine();
}
returnitemList;
}

(Itemitem,StringfilePath)throwsIOException{
FileWriterfw=newFileWriter(filePath,true);
if(Main.itemList!=null&&Main.itemList.size()>=0){
//空行,题目之间空一行
fw.write(" ");
}
//标题
fw.write(item.getTitle());
fw.write(" ");
//选项A
fw.write(item.getA());
fw.write(" ");
//选项B
fw.write(item.getB());
fw.write(" ");
//选项C
fw.write(item.getC());
fw.write(" ");
//选项D
fw.write(item.getD());
fw.close();
}

publicstaticvoidimportToFile(StringitemPath,StringfilePath,inttotal)throwsIOException{
BufferedReaderbr=newBufferedReader(newFileReader(newFile(filePath)));
Stringline=null;

while((line=br.readLine())!=null){
//标题
Stringtitle=line;
if(title.matches("^\d+.*$")){
title=title.replaceFirst("\d+","");
title=(++total)+title;
}
//选项A
Stringa=line=br.readLine();
//选项B
Stringb=line=br.readLine();
//选项C
Stringc=line=br.readLine();
//选项D
Stringd=line=br.readLine();
Itemitem=newItem(title,a,b,c,d);
writeToFile(item,itemPath);

//读取下一个空行
line=br.readLine();
}
br.close();
}

(StringfilePath,intnum)throwsIOException{
List<Item>itemList=readItemsFromFile(filePath);
booleanfind=false;
if(itemList!=null&&itemList.size()>0){
for(Itemitem:itemList){
if(item.getTitle().startsWith(Integer.toString(num))){
find=true;
itemList.remove(item);
break;
}
}
}
else{
System.out.println("题库中没有试题");
}

if(find){
BufferedWriterbw=newBufferedWriter(newFileWriter(newFile(filePath)));
for(inti=0;i<itemList.size();i++){
Itemitem=itemList.get(i);
//标题
Stringtitle=item.getTitle();
title=title.replaceFirst("\d+","");
title=(i+1)+title;
bw.write(title);
bw.write(" ");
//选项A
bw.write(item.getA());
bw.write(" ");
//选项B
bw.write(item.getB());
bw.write(" ");
//选项C
bw.write(item.getC());
bw.write(" ");
//选项D
bw.write(item.getD());

if(i!=itemList.size()-1){
bw.write(" ");
}
}
bw.close();
}
}
}

classItem{
privateStringtitle;
privateStringa;
privateStringb;
privateStringc;
privateStringd;

publicItem(){

}
publicItem(Stringtitle,Stringa,Stringb,Stringc,Stringd){
this.title=title;
this.a=a;
this.b=b;
this.c=c;
this.d=d;
}
publicStringgetTitle(){
returntitle;
}
publicvoidsetTitle(Stringtitle){
this.title=title;
}
publicStringgetA(){
returna;
}
publicvoidsetA(Stringa){
this.a=a;
}
publicStringgetB(){
returnb;
}
publicvoidsetB(Stringb){
this.b=b;
}
publicStringgetC(){
returnc;
}
publicvoidsetC(Stringc){
this.c=c;
}
publicStringgetD(){
returnd;
}
publicvoidsetD(Stringd){
this.d=d;
}
@Override
publicStringtoString(){
return"Item[title="+title+",a="+a+",b="+b+",c="+c
+",d="+d+"]";
}
}

Ⅲ 跪求一个JAVA课程设计, 学生信息管理系统 含全源代码 设计报告

import java.awt.*;
import java.awt.event.*;
public class DengLuJieMian extends Frame implements ActionListener
{
Label username=new Label("用户名:");//使用文本创建一个用户名标签
TextField t1=new TextField();//创建一个文本框对象
Label password=new Label("密码:");//创建一个密码标签
TextField t2=new TextField();
Button b1=new Button("登陆");//创建登陆按钮
Button b2=new Button("取消");//创建取消按钮
public DengLuJieMian()
{
this.setTitle("学生信息管理系统");//设置窗口标题
this.setLayout(null);//设置窗口布局管理器
username.setBounds(50,40,60,20);//设置姓名标签的初始位置
this.add(username);// 将姓名标签组件添加到容器
t1.setBounds(120,40,80,20);// 设置文本框的初始位置
this.add(t1);// 将文本框组件添加到容器
password.setBounds(50,100,60,20);//密银隐码标签的初始位置
this.add(password);//将密码标签组件添加到容器
t2.setBounds(120,100,80,20);//设置密码标签的初始位置
this.add(t2);//将密码标签组件添加到容器
b1.setBounds(50,150,60,20);//设置登陆按钮的初始位置
this.add(b1);//将登陆按钮组件添加到锋让厅容器
b2.setBounds(120,150,60,20);//设置取消按钮的初始位置
this.add(b2);// 将取消按钮组件添加到容器
b1.addActionListener(this);//给登陆按钮添加监听器
b2.addActionListener(this);// 给取消按钮添加监听器

this.setVisible(true);//设置窗口的可见性
this.setSize(300,200);//设置窗口的大小
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});//通过内部类重写滑辩关闭窗体的方法
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==b1)//处理登陆事件
{
String name=t1.getText();
String pass=t2.getText();
if(name!=null&&pass.equals("000123"))//判断语句
{
new StudentJieMian();
}
}
}
public static void main(String args[])//主函数
{
new DengLuJieMian();
}
}
以下方法实现了学生界面设计
import java.awt.*;
import java.awt.event.*;
class StudentJieMian extends Frame implements ActionListener
{
MenuBar m=new MenuBar();//创建菜单栏
Menu m1=new Menu("信息");//创建菜单“信息”
MenuItem m11=new MenuItem("插入");//创建“插入”的菜单项
MenuItem m12=new MenuItem("查询");
Menu m2=new Menu("成绩");//创建菜单“成绩”
MenuItem m21=new MenuItem("查询");
public StudentJieMian()
{
this.setTitle("学生界面");//设置窗口标题
this.setLayout(new CardLayout());//设置窗口布局管理器
this.setMenuBar(m);//将菜单栏组件添加到容器
m.add(m1);//将信息菜单放入菜单栏
m.add(m2);
m1.add(m11);//将“插入”菜单项添加到“信息”菜单
m1.add(m12); //将“查询”菜单项添加到“信息”菜单
m2.add(m21); //将“查询”菜单项添加到“成绩”菜单
m11.addActionListener(this); //给“插入”菜单项添加监听器
m12.addActionListener(this); //给“查询”菜单项添加监听器
m21.addActionListener(this); //给“查询”菜单项添加监听器
this.setVisible(true); //设置窗口的可见性
this.setSize(300,200); //设置窗口的大小
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);//关闭窗口
}
});
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==m11) //处理“添加信息”事件
{
new AddStudent();
}
if(e.getSource()==m12) //处理“查询信息”事件
{
new SelectStudent();
}
if(e.getSource()==m21) //处理“查询成绩”事件
{
new ChengJiStudent();
}
}
public static void main(String args[])
{ new StudentJieMian(); //创建一个对象 }

Ⅳ Java课程设计,模拟银行存取业务,按照这个流程图去做,其实最主要的是求画圈的部分怎么写和它的方法。

请点击输入图片描述

package com.greatwall.business.controller;


import java.math.BigDecimal;

import java.util.Scanner;

import java.util.regex.Matcher;

import java.util.regex.Pattern;


/**

* @author xysddjyt

* @since 2020/6/16 15:06

*/

public class BankTest {


public static void main(String[] args) {

Scanner scan = new Scanner(System.in);

// 余额(单位:分)

Long BALANCE = 10000000L;


// 卡号

String card = "001";


// 密码

String password = "123456";


String inputCard = new String();

String inputPassword = new String();

String quit = new String();

while (true) {

System.out.println(" 欢迎来到网上银行办理存取款业务!");

System.out.println("请输入银行卡号和银行卡密码进行登录!");

while (true) {

System.out.print("请输入银行卡号(按q退出): ");

inputCard = scan.nextLine();

quit = inputCard;

if (inputCard.equals("q")) {

break;

}

if (!inputCard.equals(card)) {

System.out.print("您输入银行卡号不正确,请重新输入 ");

continue;

}

break;

}

if (quit.equals("q")) {

continue;

}

while (true) {

System.out.print("请输入银行卡密码(按q退出): ");

inputPassword = scan.nextLine();

quit = inputPassword;

if (inputPassword.equals("q")) {

break;

}

if (!inputPassword.equals(password)) {

System.out.print("您输入银行卡密码不正确,请重新输入 ");

continue;

}

break;

}

if (quit.equals("q")) {

continue;

}

System.out.print("登录成功,当前登录的账户名:" + inputCard);

String type = "4";

while (!type.equals("0")) {

System.out.print(" 您当前的余额为:" + money(BALANCE) + "元");

System.out.print(" 请选择操作类型。(存款:1;取款:2 ;余额:3;退出:0) ");

type = scan.nextLine();

switch (type) {

case "1": {

System.out.print("请输入您的存款金额(元):");

String chageNumber = scan.nextLine();

if (!isPositiveInteger(chageNumber)) {

System.out.print("请输入正确的存款金额!");

continue;

}

BALANCE = Long.valueOf(chageNumber) * 100 + BALANCE;

continue;

}

case "2": {

System.out.print("请输入您的取款金额(元):");

String chageNumber = scan.nextLine();

if (!isPositiveInteger(chageNumber)) {

System.out.print("请输入正确取款金额!");

continue;

}

BALANCE = BALANCE - Long.valueOf(chageNumber) * 100;

continue;

}

case "3": {

System.out.print("您当前的余额为:" + money(BALANCE) + "元 ");

continue;

}

default: {

continue;

}

}

}

}

}


private static boolean isMatch(String regex, String orginal) {

if (orginal == null || orginal.trim().equals("")) {

return false;

}

Pattern pattern = Pattern.compile(regex);

Matcher isNum = pattern.matcher(orginal);

return isNum.matches();

}

// 判断数据是否为正整数

public static boolean isPositiveInteger(String orginal) {

return isMatch("^\+{0,1}[1-9]\d*", orginal);

}

// 分转元,转换为bigDecimal在toString

public static String money(Long money) {

return BigDecimal.valueOf(money).divide(new BigDecimal(100)).toString();

}

}

Ⅳ 《Java程序设计》课程设计报告 表达式求值

import java.awt.*;
import java.applet.*;

public class DrawRound extends Applet implements Runnable {
int r;
int x,y;
public void init() {
x=(int)(Math.random()*getWidth());//随机坐标
y=(int)(Math.random()*getHeight());
setSize(800,800);
r=10;//初始半径=10
}
public void start() {
new Thread(this).start();//建立新线程
}
public void run() {
try {
while(true){
r =10;
if(r==150){//当半径=150时重新定义坐标,同时半径等于初始状态10
r=10;
x=(int)(Math.random()*getWidth()/2);
y=(int)(Math.random()*getHeight()/2);
}
Thread.sleep(500);//半径每隔0.5秒就自动 10
repaint();//每次半径变化时清空原来所画的圆
}

}
catch(Exception e) {}

}
public void paint(Graphics g) {
g.setColor(new Color((int)(Math.random()*255), (int)(Math.random()*255), (int)(Math.random()*255)));//随机颜色
g.fillOval(x,y,r,r);//画圆
}
}

Ⅵ 用java编写银行账户的存款方法

[xxx计算银行利息携闷的java程序.rar] - 此程序是java语言编写的,关于银行计算利息的控制台程序。再加工一下可以作为J2EE的一个JAVABEAN组件。非常有使用价值。 [一个经典的五子棋程序.rar] - 用java做的五子棋。非常经典。适合初学者参考! [ICcardmanager.rar] - 使用java编写的一个银行信用卡管理系统,简单实用。 [bankqueue.rar] - java编写的一个多线程程序,模拟银行排队. [RILSample.rar] - windows mobile 6下查询ril层信号强度的例子程序,需要在ppc上运行 [分享Swing学习的一些经验.rar] - 分享Swing学习的一些经验 ,入门之后的书籍推荐如下。 [BankAccount.rar] - 由java写的一个银行账岩笑户系统,该系统可以记录账户的操作:存款,取款,以及累计余额等! [1136643381605java-29-.rar] - 用java语言编写的银行管理系统,包括完整的开发流程和文档。 [atm.rar] - 课程设计:ATM Project源码,有四个独立程序,银行端,货物公司端,辩枣弯ATM取款机端,自动售货机端,应该可以算四个,还有一个VC写的配置ODBC的源吗,另外,请求一个帐号用于下载源吗 文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉): exercise6-2 ...........\banking ...........\.......\Account.class ...........\.......\Account.java ...........\.......\Bank.class ...........\.......\Bank.java ...........\.......\CheckingAccount.class ...........\.......\CheckingAccount.java ...........\.......\Customer.class ...........\.......\Customer.java ...........\.......\SavingsAccount.class ...........\.......\SavingsAccount.java ...........\TestBanking.class ...........\TestBanking.java

Ⅶ 《Java》期末课程设计

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class QuestionOne {

/**
* 编程将从键盘输入文本中的子字符串“word”替换为字符串“world”, 并删除所有的子字符串“this”。
* 序程要求:程序中要包含局迟有注释,对于使用的变量和方法的功能要加以说明。
*/
public static void main(String[] args) {
BufferedReader reader = new BufferedReader(new InputStreamReader(
System.in));

String message = null; // 存储用户输瞎腊友入的字符磨槐串
try {
while ((message = reader.readLine()) != null) {
// 打印处理前的字符串
System.out.println("输入的字符串为:" + message);

// 把 word 替换为 world
message = message.replaceAll("word", "world");

// 把 this 替换为 空
message = message.replaceAll("this", "");

// 打印处理后的字符串
System.out.println("处理后为:" + message);
}
} catch (Exception e) {
e.printStackTrace();
System.out.println("出现异常,程序退出!");
}
}
}

Ⅷ 用java软件里的eclipse编ATM取款机(课程设计)

这个嘛,基本上很难

Ⅸ !高分跪求帮忙写一个简单小程序的JAVA课程设计报告(内详!!)

连连看java源代码
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class lianliankan implements ActionListener
{
JFrame mainFrame; //主面板
Container thisContainer;
JPanel centerPanel,southPanel,northPanel; //子面板
JButton diamondsButton[][] = new JButton[6][5];//游戏按钮数组
JButton exitButton,resetButton,newlyButton; //退出,重列,重新开始按钮
JLabel fractionLable=new JLabel("0"); //分数标签
JButton firstButton,secondButton; //分别记录两次被选中的按钮
int grid[][] = new int[8][7];//储存游戏按钮位置
static boolean pressInformation=false; //判断是否有按钮被选中
int x0=0,y0=0,x=0,y=0,fristMsg=0,secondMsg=0,validateLV; //游戏按钮的位置坐标
int i,j,k,n;//消除方法控制
public void init(){
mainFrame=new JFrame("JKJ连连看");
thisContainer = mainFrame.getContentPane();
thisContainer.setLayout(new BorderLayout());
centerPanel=new JPanel();
southPanel=new JPanel();
northPanel=new JPanel();
thisContainer.add(centerPanel,"Center");
thisContainer.add(southPanel,"South");
thisContainer.add(northPanel,"North");
centerPanel.setLayout(new GridLayout(6,5));
for(int cols = 0;cols < 6;cols++){
for(int rows = 0;rows < 5;rows++ ){
diamondsButton[cols][rows]=new JButton(String.valueOf(grid[cols+1][rows+1]));
diamondsButton[cols][rows].addActionListener(this);
centerPanel.add(diamondsButton[cols][rows]);
}
}
exitButton=new JButton("退出");
exitButton.addActionListener(this);
resetButton=new JButton("重列");
resetButton.addActionListener(this);
newlyButton=new JButton("再来一局");
newlyButton.addActionListener(this);
southPanel.add(exitButton);
southPanel.add(resetButton);
southPanel.add(newlyButton);
fractionLable.setText(String.valueOf(Integer.parseInt(fractionLable.getText())));
northPanel.add(fractionLable);
mainFrame.setBounds(280,100,500,450);
mainFrame.setVisible(true);
}
public void randomBuild() {
int randoms,cols,rows;
for(int twins=1;twins<=15;twins++) {
randoms=(int)(Math.random()*25+1);
for(int alike=1;alike<=2;alike++) {
cols=(int)(Math.random()*6+1);
rows=(int)(Math.random()*5+1);
while(grid[cols][rows]!=0) {
cols=(int)(Math.random()*6+1);
rows=(int)(Math.random()*5+1);
}
this.grid[cols][rows]=randoms;
}
}
}
public void fraction(){
fractionLable.setText(String.valueOf(Integer.parseInt(fractionLable.getText())+100));
}
public void reload() {
int save[] = new int[30];
int n=0,cols,rows;
int grid[][]= new int[8][7];
for(int i=0;i<=6;i++) {
for(int j=0;j<=5;j++) {
if(this.grid[i][j]!=0) {
save[n]=this.grid[i][j];
n++;
}
}
}
n=n-1;
this.grid=grid;
while(n>=0) {
cols=(int)(Math.random()*6+1);
rows=(int)(Math.random()*5+1);
while(grid[cols][rows]!=0) {
cols=(int)(Math.random()*6+1);
rows=(int)(Math.random()*5+1);
}
this.grid[cols][rows]=save[n];
n--;
}
mainFrame.setVisible(false);
pressInformation=false; //这里一定要将按钮点击信息归为初始
init();
for(int i = 0;i < 6;i++){
for(int j = 0;j < 5;j++ ){
if(grid[i+1][j+1]==0)
diamondsButton[i][j].setVisible(false);
}
}
}
public void estimateEven(int placeX,int placeY,JButton bz) {
if(pressInformation==false) {
x=placeX;
y=placeY;
secondMsg=grid[x][y];
secondButton=bz;
pressInformation=true;
}
else {
x0=x;
y0=y;
fristMsg=secondMsg;
firstButton=secondButton;
x=placeX;
y=placeY;
secondMsg=grid[x][y];
secondButton=bz;
if(fristMsg==secondMsg && secondButton!=firstButton){
xiao();
}
}
}
public void xiao() { //相同的情况下能不能消去。仔细分析,不一条条注释
if((x0==x &&(y0==y+1||y0==y-1)) || ((x0==x+1||x0==x-1)&&(y0==y))){ //判断是否相邻
remove();
}
else{
for (j=0;j<7;j++ ) {
if (grid[x0][j]==0){ //判断第一个按钮同行哪个按钮为空
if (y>j) { //如果第二个按钮的Y坐标大于空按钮的Y坐标说明第一按钮在第二按钮左边
for (i=y-1;i>=j;i-- ){ //判断第二按钮左侧直到第一按钮中间有没有按钮
if (grid[x][i]!=0) {
k=0;
break;
}
else{ k=1; } //K=1说明通过了第一次验证
}
if (k==1) {
linePassOne();
}
}
if (y<j){ //如果第二个按钮的Y坐标小于空按钮的Y坐标说明第一按钮在第二按钮右边
for (i=y+1;i<=j ;i++ ){ //判断第二按钮左侧直到第一按钮中间有没有按钮
if (grid[x][i]!=0){
k=0;
break;
}
else { k=1; }
}
if (k==1){
linePassOne();
}
}
if (y==j ) {
linePassOne();
}
}
if (k==2) {
if (x0==x) {
remove();
}
if (x0<x) {
for (n=x0;n<=x-1;n++ ) {
if (grid[n][j]!=0) {
k=0;
break;
}
if(grid[n][j]==0 && n==x-1) {
remove();
}
}
}
if (x0>x) {
for (n=x0;n>=x+1 ;n-- ) {
if (grid[n][j]!=0) {
k=0;
break;
}
if(grid[n][j]==0 && n==x+1) {
remove();
}
}
}
}
}
for (i=0;i<8;i++ ) { //列
if (grid[i][y0]==0) {
if (x>i) {
for (j=x-1;j>=i ;j-- ) {
if (grid[j][y]!=0) {
k=0;
break;
}
else { k=1; }
}
if (k==1) {
rowPassOne();
}
}
if (x<i) {
for (j=x+1;j<=i;j++ ) {
if (grid[j][y]!=0) {
k=0;
break;
}
else { k=1; }
}
if (k==1) {
rowPassOne();
}
}
if (x==i) {
rowPassOne();
}
}
if (k==2){
if (y0==y) {
remove();
}
if (y0<y) {
for (n=y0;n<=y-1 ;n++ ) {
if (grid[i][n]!=0) {
k=0;
break;
}
if(grid[i][n]==0 && n==y-1) {
remove();
}
}
}
if (y0>y) {
for (n=y0;n>=y+1 ;n--) {
if (grid[i][n]!=0) {
k=0;
break;
}
if(grid[i][n]==0 && n==y+1) {
remove();
}
}
}
}
}
}
}
public void linePassOne(){
if (y0>j){ //第一按钮同行空按钮在左边
for (i=y0-1;i>=j ;i-- ){ //判断第一按钮同左侧空按钮之间有没按钮
if (grid[x0][i]!=0) {
k=0;
break;
}
else { k=2; } //K=2说明通过了第二次验证
}
}
if (y0<j){ //第一按钮同行空按钮在与第二按钮之间
for (i=y0+1;i<=j ;i++){
if (grid[x0][i]!=0) {
k=0;
break;
}
else{ k=2; }
}
}
}
public void rowPassOne(){
if (x0>i) {
for (j=x0-1;j>=i ;j-- ) {
if (grid[j][y0]!=0) {
k=0;
break;
}
else { k=2; }
}
}
if (x0<i) {
for (j=x0+1;j<=i ;j++ ) {
if (grid[j][y0]!=0) {
k=0;
break;
}
else { k=2; }
}
}
}
public void remove(){
firstButton.setVisible(false);
secondButton.setVisible(false);
fraction();
pressInformation=false;
k=0;
grid[x0][y0]=0;
grid[x][y]=0;
}
public void actionPerformed(ActionEvent e) {
if(e.getSource()==newlyButton){
int grid[][] = new int[8][7];
this.grid = grid;
randomBuild();
mainFrame.setVisible(false);
pressInformation=false;
init();
}
if(e.getSource()==exitButton)
System.exit(0);
if(e.getSource()==resetButton)
reload();
for(int cols = 0;cols < 6;cols++){
for(int rows = 0;rows < 5;rows++ ){
if(e.getSource()==diamondsButton[cols][rows])
estimateEven(cols+1,rows+1,diamondsButton[cols][rows]);
}
}
}
public static void main(String[] args) {
lianliankan llk = new lianliankan();
llk.randomBuild();
llk.init();
}
}

//old 998 lines
//new 318 lines
参考资料:http://..com/question/36439800.html?fr=qrl3

阅读全文

与javaatm课程设计报告相关的资料

热点内容
iphone5如何升级4g网络 浏览:5
团购是在哪个app 浏览:897
打开多个word文档图片就不能显示 浏览:855
腾讯新闻怎么切换版本 浏览:269
app安装失败用不了 浏览:326
桌面文件鼠标点开会变大变小 浏览:536
手机误删系统文件开不了机 浏览:883
微信兔子甩耳朵 浏览:998
android蓝牙传文件在哪里 浏览:354
苹果6s软解是真的吗 浏览:310
c语言代码量大 浏览:874
最新网络卫星导航如何使用 浏览:425
以下哪些文件属于图像文件 浏览:774
zycommentjs 浏览:414
确认全血细胞减少看哪些数据 浏览:265
文件有哪些要求 浏览:484
cad打开时会出现两个文件 浏览:65
什么是转基因网站 浏览:48
手柄设备有问题代码43 浏览:921
怎么他么怎么又网络了 浏览:649

友情链接