版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JAVA程序代码复习
1、1)登陆界面设计:
privatevoidjButton提交ActionPerfonned(java.awt.event.ActionEventevt){
//TODOaddyourhandlingcodehere:
if("admin',.equals(jTextFieldUserName.getText())&&,1123,,.equals(jTextFieldPassword.getText()))
(
jTextAreal.setText("恭喜您登录成功!");
)
else
jTextAreal.setText("用户名或密码错误!”);
PrivatevoidjButton取消ActionPerformed(java.awt.event.ActionEventevt){
//TODOaddyourhandlingcodehere:
this.dispose();
privatevoidjButtonlActionPerformed(java.awt.event.ActionEventevt){
//TODOaddyourhandlingcodehere:
//if("admin',.equals(name.getText())&&"123',.equals(password.getText())){
char[Jc=newchar[20J;
c=jPasswordField1.getPassword();
Stringpwd=newString(c);
if(,'admin',.equals(name.getText())&&"123n.equals(pwd)){
jTextAreal.setText(”恭喜您登录成功!”);
}else{
jTextAreal.setText("用户名或密码错误,请重新输入!)
2)单选按钮与复合框
privatevoidjButton1ActionPerformed(java.awt.event.ActionEventevt){
//TODOaddyourhandlingcodehere:
StringstrBrand='H,;
StringstrReason="";
〃手机品牌
if(jRadioButton1.isSelected())
strBrand=jRadioButton1.getText();
elseif(jRadioButton2.isSelected())
strBrand=jRadioButton2.getText();
elseif(jRadioButton3.isSelected())
strBrand=jRadioButton3.getText();
〃选择原因
if(jCheckBoxl.isSelected())
strReason+=jCheckBox1.getText()+"
if(jCheckBox2.isSelected())
strReason+=jCheckBox2.getText()+"";
if(jCheckBox3.isSelected())
strReason+=jCheckBox3.getText()+"M;
jLabell.setText("你喜欢的手机品牌是"+strBrand+",选择该手机的理由是”
+strReason);
)
2、设计个程序,能够输出100之内的所有素数。
自定义bool型函数:
privatebooleanIsPrime(intn)
(
intk=(int)Math.sqrt(n);
inti;
for(i=2;i<=k;i++)
if(n%i==O)
break;
returni>k;
)
按钮代码:
privatevoidjButton1ActionPerfonned(java.awt.event.ActionEventevt){
//TODOaddyourhandlingcodehere:
Strings=,H,;
inti;
for(i=2;i<=100;i++)
if(IsPrime(i))
s+=i+””;
jLabe12.setText(s);
)
3、设计一个程序,可以对输入的正整数进行因数分解,界面如下图所示。
privatevoidjButton1ActionPerformed(java.awt.event.ActionEventevt)
[1续上―IEx1
皿、个ITA敢:hjpLp-]
100-2*2*5*5
力丽
//TODOaddyourhandlingcodehere:
Strings=jTextFieldl.getText()+n=M;
intn=Integer.parseInt(jTextFieldl.getText());
inti=2;
while(!IsPrime(n)){
if(n%i==0)
(
s+=i+"*";
n=n/i;
i=2;
)
else{
i++;
)
)
jLabel2.setText(s+n);
(
4、设计一个程序,可以对用户输入的两个数进行加减乘除运算,界面如下图所示。
Lc!2
|N3.1|»|o=hnMity-
jISFig|IwtI
privatevoidjButtonIActionPerformed(java.awt.event.ActionEventevt){
//TODOaddyourhandlingcodehere:
Doublex,y,z=0.0;
x=Double.parseDouble(jFTI.getText());
y=Double.parseDouble(jFT2.getText());
intoperator=0;
operator=jComboBoxI.getSelectedIndex();
switch(operator){
case0:
z=x+y;
break;
caseI:
z=x-y;
break;
case2:
z=x*y;
break;
case3:
(
if(y==O)
(
jLabelZsetText(“除数不能为零!)
)
else
(
jLabel2.setText(null);
)
z=x/y;
break;
)
)
jFT3.setText(z.toString());
}
重置代码:
privatevoidjButton2ActionPerformed(java.awt.event.ActionEventevt){
//TODOaddyourhandlingcodehere:
jFTl.setText(null);
jFT2.setText(null);
jFT3.setText(null);
)
5、组合框组件
privatevoidjComboBox1ActionPerformed(java.awt.evenl.ActionEventevt){
//TODOaddyourhandlingcodehere:
intindex=jComboBox1.getSelectedlndex();
switch(index)
(
case0:
jPanel1.setBackground(Color.GRAY);
break;
case1:
jPanel1.setBackground(Color.PINK);
break;
case2:
jPanel1.setBackground(Color.BLUE);
break;
case3:
jPanel1.setBackground(Color.YELLOW);
)
)
6、设计一个程序,可以通过弹出式菜单改变标签控件的颜色。程序界面如下图所示。
通过弹出或兼单谀量.杆在崩
privatevoidformMouseClicked(java.awt.event.MouseEventevt){
//TODOaddyourhandlingcodehere:
if(evt.getButton()==java.awt.event.MouseEvent.BUTTON3)
(
jPopupMenul.show(this,evt.getX(),evt.getY());
)
)
privatevoidjMenuItem1ActionPerformed(java.awt.event.ActionEventevt){
//TODOaddyourhandlingcodehere:
jLabel1.setForeground(Color.red);
)
privatevoidjMenuItem2ActionPerformed(java.awt.event.ActionEventevt){
//TODOaddyourhandlingcodehere:
jLabel1.setForeground(Color.green);
)
privatevoidjMenuItem3ActionPerformed(java.awt.event.ActionEventevt){
//TODOaddyourhandlingcodehere:
jLabel1.setForeground(Color.blue);
)
7、设计一个程序,能够将用户输入的字符串反序显示出来。程序运行界面如下图所示。
195do902012101-j
II
privatevoidjButtonIActionPerformed(java.awt.event.ActionEventevt){
//TODOaddyourhandlingcodehere:
StringstrI=jTFI.getText();
Stringstr2='H';
for(inti=strl.length()-l;i>=O;i-)
(
str2+=strI.charAt(i);
}
jTF2.setText(str2);
)
8、编程求l至1000之间的所有“完全数”,“完全数”是该数的所有因子之和等于该数的数。
例如:6的因子有I、2、3且6=1+2+3,所以6是完全数。
privatevoidjButtonSubmitActionPerformed(java.awt.event.ActionEventevt){
//TODOaddyourhandlingcodehere:
inti,j,sum=O;
for(i=l;i<=1000;i++)
(
for(j=l;j<=i/2;j++)
(
if(i%j==O)
sum=sum4j;
)
if(sum==i)
jTextArea.setText(jTextArea.getText()+i+"");
sum=O;
9、验证哥德巴赫猜想在200以内的正确性。(哥德巴赫猜想:任何一个大于2的偶数都可以
分解为两个素数的和)。
代码如下:
privatebooleanisPrime(intn){
inti,k=(int)Math.sqrt(n);
for(i=2;i<=k;i++){
if(n%i==0){
break;
)
)
returni>k;
)
privatevoidjButtonSubmitActionPerformed(java.awt.event.ActionEventevt){
//TODOaddyourhandlingcodehere:
inti,j,k,n=0;〃n用来统计个数
for(i=4;i<=200;i+=2)〃偶数,步长为2
for(j=l;jv=i;j++)
(
if(isPrime(j)&&isPrime(i-j)&&(i-j)>0)
(
n++;
jTextArea.setText(jTextArea.getText()+i+',=',+j+,,+',+(i-j)+,,\nn);
jTextFieldCount.setText(n+,u,);
)
10、设计一个函数,求出一个字符串中单词的个数。
privatevoidjButtonCountActionPerformed(java.awt.event.ActionEventevt){
//TODOaddyourhandlingcodehere:
Stringsl=jTextField.getText()+”〃加个空格
intlen=sl.length();
inti,Count=0;
for(i=0;i<len-1;i++)
(
if(Character.isLetter(s1.charAt(i))&&!Character.isLetter(sl.charAt(i+1)))
Count++;
)
jTexlFieldCount.setText(Counl+””);
)
II、设计一个程序,能够统计用户输入的字符串中大写字母、小写字母、数字和其他字符的
个数。程序运行界面如下图所示。
privatevoidjTextField1KeyTyped(java.awt.event.KeyEventevt){
//TODOaddyourhandlingcodehere:
Strings;
inti,uppercase,lowerCase,digit,other;
lowerCase=upperCase=digit=other=0;
charc;
if(evt.getKeyChar()!=,\n,)
return;
s=jTextField1.getText();
for(i=0;i<s.length();i4-+){
c=s.charAt(i);
if(Character.isUppei,Case(c))
upperCase++;
elseif(Character.isLowerCase(c))
lowerCase++;
elseif(Character.isDigit(c))
digit++;
else
other++;
)
jLabel1.setText("大写字母:”+upperCase);
jLabel2.setText(u小写字母:n+lowerCase);
jLabel3.setText(”数字:H+digit);
jLabel4.setText("其他字符:*'+other);
)
12、设计一个程序,能够实现数组的排序和插入。程序运行界面如上图所示。
[^。I-IssJ、
privatevoidjButton1ActionPerformed(java.awt.event.ActionEventevt){
//TODOaddyourhandlingcodehere:
Stringnum,s二”排序前:
for(inti=0;i<5;i++){
num=JOplionPane.showInpulDialog(this,”请输入第”+(i+l)+”个数输入
",JOptionPane.PLAIN_MESSAGE);
a[i]=lnteger.parselnt(num);
s+=a[i]+,V,;
)
s=s.substring(O,s.length()-1);
jLabell.setText(s);
)
privatevoidjButton2ActionPerformed(java.awt.event.ActionEventevt){
//TODOaddyourhandlingcodehere:
inti,j,t;
Strings-排序后:”;
for(i=0;i<5;i++)
for(j=0;j<4-i;j++)
if(a[j]>aU+l]){
t=a(j];
a[j]=a[j+l];
a|j+l]=t;
)
for(i=0;i<5;i++)
s+=a[i]+”J;
s=s.substring(O,s.length()-1);
jLabel2.setText(s);
privatevoidjButton3ActionPerformed(java.awt.event.ActionEventevt){
//TODOaddyourhandlingcodehere:
Stringnum,s="插入后:”;
inti,j,n;
num^OptionPane.showInputDialogCthis,1'请输入要插入的数:输入
u,JOptionPane.PLAIN_MESSAGE);
n=lnteger.parselnt(num);
for(i=0;i<5;i++)
if(a[i]>n)
break;
for(j=5;j>i;j-)
a[i]=n;
for(i=0;i<6;i++)
,
s+=a[i]+";;
s=s.substring(O,s.length()-1);
jLabel3.setText(s);
)
13、设计一个函数,使用折半查找法查找一个按升序排列的整型数组里是否存在指定的数。
折半查找法回
-30-27-10.3,7.12,21,34,48,60
亏一(查投]7是教组的第—元素,
privateinti]a=newinti]{-30,-27,-10,3,7,12,21,34,48,60);
privatevoidformWindowOpened(java.awt.event.WindowEventevt){
//TODOaddyourhandlingcodehere:
inti;
Strings=,,u;
s+=a[OJ;
for(i=l;i<a.length;i++)
s+=7+a[i];
jLabell.setText(s);
)
intbinarySearch(int[]a,intsearch){
intlower=0;
inthighter=a.length-1;
intindex=-1;
while(lower<=highter){
index=(lower+highter)/2;〃记录中间元素,用两边之和除2.
if(a[index]==search){〃如果得到的数与要查找的数相等则退出循环;
break;
}elseif(a[index]<search){〃如果得到的数要小于查找的数,就用下标加1;否
则减一
lower=index+1;
}else{
highter=index-1;
if(lower<=highter){
returnindex;
}else{
return-1;
privatevoidjButton1ActionPerformed(java.awt.event.ActionEventevt){
//TODOaddyourhandlingcodehere:
intn=Integer.parseInt(jlextField1.getText());
intr=binarySearch(a,n);
if(r==-l)
jLabel2.setText("数组中不存在要查找的数。)
else
jLabel2.setText(n+"是数组的第"+r+"个元素」');
}
14、设计一个程序,用户输入数字表示的月份,程序输出对应的英文名。
privatevoidjComboBox1ActionPerformed(java.awt.event.ActionEventevt){
//TODOaddyourhandlingcodehere:
String[]months=newString[J{,,January'V,February,',"March',;,Aprir,,',Mayn,
"June",,,Julyn;'August'1,"September",HOctober",
"November","December"};
intn=jComboBox1.getSelectedlndex();
jLabel1.setText(months[nJ);
)
15、设计一个程序,能够将数字表示的金额转换为汉字。例如“123.45”转换为“壹佰贰拾
叁圆肆角伍分”。
privatecharupper(intm)
(
charr='*;
switch(m)
case0:
r二零;
break;
case1:
r=宜;
break;
case2:
r士贰、
break;
case3:
r士叁;
break;
case4:
r=W;
break;
case5:
金伍';
break;
case6:
r=惭;
break;
case7:
匚柒;
break;
case8:
「二捌;
break;
case9:
仁玖;
break;
)
returnr;
privatevoidjButtonTransActionPerformed(java.awt.event.ActionEventevt){
//TODOaddyourhandlingcodehere:、
//intn=Integer.parseInt(jTextFieldCount.getText());
doublen=Double.parseDouble(jTextFieldCount.getText());
inttrans=(int)(n*100);
if(n<9999999)
(
〃求数值的每一位
intm1,m2,m3,m4,m5,m6,m7,m8,m9;
m1=trans/100000000;〃佰
m2=tr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 会务工作制度及流程
- 中电建工作制度范本
- 中职生就业工作制度
- 2026年上海市闵行区高三语文二模作文范文5篇:经历与感知不同步
- 供配电专业工作制度
- 办公室上班工作制度
- 加工厂会计工作制度
- 劳动定员与工作制度
- 医保办管理工作制度
- 医疗护理员工作制度
- (2025年)医师定期考核题库附答案
- 2026年建安杯信息通信建设行业安全竞赛重点题库(新版)
- 12《古诗三首》课件-2025-2026学年统编版语文三年级下册
- 短剧网络播出要求与规范手册
- 江苏苏锡常镇四市2026届高三下学期教学情况调研(一)数学试题(含答案)
- 高顿教育内部考核制度
- 高二物理下学期期中考试试卷含答案
- 矿山生态修复治理实施方案
- 名著导读:《西游记》课件
- 抗美援朝战场上的感人故事三则
- 《炸药爆炸理论》讲义-安徽理工大学-郭子如教授-第三章-炸药的热分解与热安定性
评论
0/150
提交评论