Java面向对象程序设计课程设计Word文档下载推荐.docx

上传人:b****2 文档编号:5182680 上传时间:2023-05-04 格式:DOCX 页数:34 大小:66.11KB
下载 相关 举报
Java面向对象程序设计课程设计Word文档下载推荐.docx_第1页
第1页 / 共34页
Java面向对象程序设计课程设计Word文档下载推荐.docx_第2页
第2页 / 共34页
Java面向对象程序设计课程设计Word文档下载推荐.docx_第3页
第3页 / 共34页
Java面向对象程序设计课程设计Word文档下载推荐.docx_第4页
第4页 / 共34页
Java面向对象程序设计课程设计Word文档下载推荐.docx_第5页
第5页 / 共34页
Java面向对象程序设计课程设计Word文档下载推荐.docx_第6页
第6页 / 共34页
Java面向对象程序设计课程设计Word文档下载推荐.docx_第7页
第7页 / 共34页
Java面向对象程序设计课程设计Word文档下载推荐.docx_第8页
第8页 / 共34页
Java面向对象程序设计课程设计Word文档下载推荐.docx_第9页
第9页 / 共34页
Java面向对象程序设计课程设计Word文档下载推荐.docx_第10页
第10页 / 共34页
Java面向对象程序设计课程设计Word文档下载推荐.docx_第11页
第11页 / 共34页
Java面向对象程序设计课程设计Word文档下载推荐.docx_第12页
第12页 / 共34页
Java面向对象程序设计课程设计Word文档下载推荐.docx_第13页
第13页 / 共34页
Java面向对象程序设计课程设计Word文档下载推荐.docx_第14页
第14页 / 共34页
Java面向对象程序设计课程设计Word文档下载推荐.docx_第15页
第15页 / 共34页
Java面向对象程序设计课程设计Word文档下载推荐.docx_第16页
第16页 / 共34页
Java面向对象程序设计课程设计Word文档下载推荐.docx_第17页
第17页 / 共34页
Java面向对象程序设计课程设计Word文档下载推荐.docx_第18页
第18页 / 共34页
Java面向对象程序设计课程设计Word文档下载推荐.docx_第19页
第19页 / 共34页
Java面向对象程序设计课程设计Word文档下载推荐.docx_第20页
第20页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Java面向对象程序设计课程设计Word文档下载推荐.docx

《Java面向对象程序设计课程设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《Java面向对象程序设计课程设计Word文档下载推荐.docx(34页珍藏版)》请在冰点文库上搜索。

Java面向对象程序设计课程设计Word文档下载推荐.docx

5)比较字符串(equals()方法)

2.22选5彩票号码生成器

设计一个彩票号码生成器,主要处理5位数字序列的排列组合,要求每一位上的数字为1~22区间上的任意一个,且数字不可重复。

1)数字存放的数据结构(Array)

2)随机数的获得(random()方法)

3)循环语句的使用(for语句)

3.设计一个简易的计算器,可以进行四则运算:

加、减、乘、除等(限于十进制下)

程序要求:

1)应具有相应的界面,可参考Windows操作系统自带的计算器界面。

2)操作符号定为:

“+”,“-”,“*”,“/”,“+/-”等。

(按国际惯例设计)

3)用户通过点击程序界面上按钮,实现数字、运算符的输入操作。

4)以上部分为必须完成的内容。

选作部分:

具有操作符号“1/x”,“sqrt”(开方),“.”(小数功能)等。

三、开发工具与平台

1.开发工具 

JavaSEDevelopmentKit8u25

2.开发平台

UltraEdit

四、设计思路

第一个人:

赵贯强

(1)界面设计

importjava.util.*;

publicclassZifuchuan{

publicstaticvoidmain(Stringargs[]){

ScannerZ1=newScanner(System.in);

System.out.print("

请您输入一个字符串:

"

);

StringgetString=Z1.next();

System.out.println("

您输入的字符串的长度是:

+getString.length());

请输入查找的字符:

Stringq=Z1.next();

您查找的字符位置在字符串的:

+getString.indexOf(q));

请您再输入一个字符串:

StringgetString2=Z1.next();

booleanZ2=getString.equals(getString2);

您输入的两个字符串是否相等:

+Z2);

}

}

(2)逻辑设计

导入util类包,使用System.in键盘输入获得Z1字符串对象,再使用length()方法获取Z1下的函数next()返回的字符串长度,接着使用IndexOf()方法获取Z1下的函数next()所查找字符或字符串首次出现的位置;

同一个类中,调用System.in键盘输入获得Z2字符串对象,把第二个字符串赋值给Z1下的函数next()返回的字符串,使用equals()方法比较两个字符串字符序列是否相同,输出为布尔类型,即true或false。

(3)程序测试

String类)。

ScannerZ1=newScanner(System.in);

2)字符串信息的输出。

System.out.print("

3)获得字符串长度(length()方法)。

System.out.println("

4)在字符串中查找一个字符(IndexOf()方法)。

5)比较字符串(equals()方法)。

booleanZ2=getString.equals(getString2);

publicclassCaipiao{

publicstaticvoidmain(Stringargs[]){

RandomZ1=newRandom();

HashSet<

Integer>

set=newHashSet<

();

while(set.size()<

5){

intranNubmer=Z1.nextInt(22)+1;

if(ranNubmer!

=0){

set.add(ranNubmer);

}

}

System.out.println(set);

导入util类包,使用Random()方法创建一个Z1随机数生成器,使用HashSet构造一个set空容器,定义set集合为int型数据。

使用while循环语句,返回set.size()<

5的元素数,即五个元素;

定义一个随机数,这个随机数用nextInt(22)+1函数产生,使用if语句,如果随机数不为零,则使用set.add()方法,使产生的随机数添加到set集合中;

如果为零,则不添加set集合中。

并使用set接口,自动去掉重复的数字。

最后输出随机产生的五个1~22之间的数。

1)创建一个Random类的变量Z1使它成为一个新的随机数生成器。

RandomZ1=newRandom();

2)定义一个set变量,使set在HashSet容器类中装的都是类型为Integer的对象,使用<

符号规定对象的类型,是java泛型类的体现。

HashSet<

3)使用while循环语句实现22选5,set.size()<

5即循环五次,返回set中的元素数。

while(set.size()<

4)返回一个伪随机数,它是从此随机数生成器的序列中取出的、在0(包括)和指定值(不包括)之间均匀分布的int值。

nextInt(22)生成的随机数为0(包括)~22(不包括),nextInt(22)+1生成的随机数即为1(包括)~23(不包括)。

intranNubmer=Z1.nextInt(22)+1;

5)使用if语句,如果随机数不为零,则使用set.add()方法,使产生的随机数添加到set容器中;

如果为零,则不添加set容器中。

if(ranNubmer!

6)使用set接口,使得所生成的随机数不重复,使用set.add()把随机数ranNubmer添加到set容器内。

set.add(ranNubmer);

7)输出set容器内的随机数。

System.out.println(set);

第二个人:

付勃达

publicclassTestString{

publicstaticvoidmain(String[]args){

Scannersc=newScanner(System.in);

System.out.println("

请输入一串字符串"

Strings1=sc.next();

System.out.println("

你输入的字符串的长度是"

+s1.length());

请输入一个字符"

Stringc=sc.next();

你输入的字符位置在字符串的"

+s1.indexOf(c));

请您再输入一串字符串"

Strings2=sc.next();

booleantf=s1.equals(s2);

您输入的两个字符串相等吗"

+tf);

1)通过import语句导入until类包。

2)通过键盘输入初始化字符串,建立字符串对象。

System.in是获取输入的字符串。

Scannersc=newScanner(System.in);

3)获取输入的字符串并封装在s1中。

Strings1=sc.next();

4)通过调用length()方法返回字符串的字符个数,即获取字符串的长度。

+s1.length());

5)通过调用indexOf()方法返回字符c在字符串s1中出现的第一个位置,如果查找成功,则返回匹配成功的字符的位置;

如果没有查找到,则返回-1。

+s1.indexOf(c));

6)通过调用equals()方法比较输入的两个字符串s1和s2的字符序列是否相同;

equals()方法返回类型为布尔类型。

booleantf=s1.equals(s2);

1)键盘输入建立字符串对象。

2)字符串信息的输出。

Strings1=sc.next();

booleantf=s1.equals(s2);

publicclassLottery{

publicint[]getValue(intmax,intn){

intL[]=newint[n];

inti=1;

intj=0;

L[j]=(int)(Math.random()*max)+1;

while(i<

n){

intr=(int)(Math.random()*max)+1;

for(j=0;

j<

i;

j++){

if(r==L[j])

break;

}

if(i!

=j)

continue;

L[i]=r;

i++;

returnL;

publicstaticvoidmain(String[]args){

intv[]=newLottery().getValue(22,5);

for(inti=0;

i<

v.length;

i++){

System.out.print(v[i]+"

"

1)根据题目要求,设计一个22选5彩票号码生成器。

getValue()获取数组中指定位置的值,该代码显示的是设定数组v容量为22个元素,每次所选择使用的元素为5个。

intv[]=newLottery().getValue(22,5);

2)使用整形数组存放数字。

publicint[]getValue(intmax,intn){

3)给数组L分配n个整型的数据空间,并赋初始值为0。

intL[]=newint[n];

4)调用random()方法令系统产生一个大于等于0,小于1的随机数,并且返回的随机数指定范围在m~n之间。

Math.random()*(n-m+1)+m;

5)由于random()方法默认的返回类型为double类型,但需要的是整型的随机数,因此需要强制类型转换(int)使得所取得的随机数为整型;

题目还要求每一位上的数字为1~22区间上的任意一个,但random()方法所生成的随机数为[0,1)之间,因此使用(Math.random()*max)+1语句使得所生成的随机数范围在1~22之间。

L[j]=(int)(Math.random()*max)+1;

6)通过while循环语句和for循环语句的结合使用可以保证每次所生成的5位随机数均不重复。

7)最终通过for循环语句和打印输出语句结合使用完成该程序设计的目的。

for(inti=0;

System.out.print(v[i]+"

);

1)数字存放的数据结构(Array)。

intv[]=newLottery().getValue(22,5);

2)随机数的获得(random()方法)。

L[j]=(int)(Math.random()*max)+1;

intr=(int)(Math.random()*max)+1;

3)循环语句的使用(for语句)。

for(j=0;

(1)界面设计

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.*;

publicclassCalculatorextendsJFrameimplementsActionListener{

privatestaticfinallongserialVersionUID=1L;

JPanelmainpanel=newJPanel();

JPanelcenterpanel=newJPanel();

JTextFieldtxt=newJTextField("

StringBuffersb1=newStringBuffer();

StringBuffersb2=newStringBuffer();

charsign;

booleanflag=false;

JButton[]buttons=newJButton[16];

{

buttons[0]=newJButton("

1"

buttons[1]=newJButton("

2"

buttons[2]=newJButton("

3"

buttons[3]=newJButton("

+"

buttons[4]=newJButton("

4"

buttons[5]=newJButton("

5"

buttons[6]=newJButton("

6"

buttons[7]=newJButton("

-"

buttons[8]=newJButton("

7"

buttons[9]=newJButton("

8"

buttons[10]=newJButton("

9"

buttons[11]=newJButton("

*"

buttons[12]=newJButton("

0"

buttons[13]=newJButton("

c"

buttons[14]=newJButton("

="

buttons[15]=newJButton("

/"

centerpanel.setLayout(newGridLayout(4,4,8,8));

for(inti=0;

buttons.length;

centerpanel.add(buttons[i]);

buttons[i].addActionListener(this);

publicCalculator(intx,inty){

this.setTitle("

我的计算器"

this.setContentPane(mainpanel);

this.setResizable(true);

BorderLayoutbl=newBorderLayout();

mainpanel.setLayout(bl);

mainpanel.add(txt,BorderLayout.NORTH);

mainpanel.add(centerpanel,BorderLayout.CENTER);

this.setBounds(x,y,300,240);

this.setVisible(true);

publicstaticvoidmain(String[]args){

newCalculator(750,200);

publicvoidactionPerformed(ActionEvente){

JButtonjb=(JButton)e.getSource();

charc=jb.getText().charAt(0);

switch(c){

case'

0'

:

1'

2'

3'

4'

5'

6'

7'

8'

9'

addNum(c);

break;

+'

-'

*'

/'

signEvent(c);

c'

Calculator.this.dispose();

newCalculator(Calculator.this.getLocation().x,Calculator.this.getLocation().y);

='

if(!

flag)this.txt.setText(sb1.toString());

;

sb1=newStringBuffer(getAnswer());

sb2=newStringBuffer();

this.txt.setText(sb1.toString());

sign='

flag=false;

default:

privatevoidsignEvent(charc){

if(flag&

&

sb2.length()!

sb1=newStringBuffer("

+getAnswer());

else{

flag=!

flag;

this.txt.setText("

this.sign=c;

privateStringgetAnswer(){

doublea=0;

if(sb1.length()!

=0)

a=Double.parseDouble(sb1.toString());

doubleb=0;

if(sb2.length()!

b=Double.parseDouble(sb2.toString());

doubleanswer=0;

switch(sign){

answer=a+b;

answer=a-b;

answer=a*b;

answer=a/b;

default:

returnnull;

this.sb1=newStringBuffer("

this.sb2=newStringBuffer("

return"

+answer;

privatevoidaddNum(charc){

flag){

sb1.append(c);

else{

sb2.append(c);

this.txt.setText(sb2.toString());

例如:

45-6=45+6=

45*6=45/6=

(2)逻辑设计

定义计算器类calculator,该类继承JFrame类并实现ActionListener接口。

整体窗口采用边界布局,通过另外建立若干面板组件。

再用GridLayout(网格布局)对数字控件和操作按钮进行布局。

使用容器类组件的常用方法如setBounds(x,y,300,240)方法设置窗口的位置和大小;

setTitle("

)方法设置窗口的标题栏;

setVisible(true)方法控制了窗口的可见性。

此外,单击任何一个按钮都会触发ActionEvent事件,要处理这些事件就必须实现ActionListener接口的actionPerformed方法。

计算器的程序设计,必然有数据输入,其中数据包括运算符和数字,均要通过计算器上的button按钮选项按钮输入进去,里面录入的必然是字符型的数据,如果进行运算要将输入的数据转化成Double型,以防出错。

(3)程序测试

1)具有相应的界面。

this.setContent

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2