java期中考试试题1广东药学院.docx
- 文档编号:30236163
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:14
- 大小:31.97KB
java期中考试试题1广东药学院.docx
《java期中考试试题1广东药学院.docx》由会员分享,可在线阅读,更多相关《java期中考试试题1广东药学院.docx(14页珍藏版)》请在冰豆网上搜索。
java期中考试试题1广东药学院
1、窗体上有一个Command,通过输入消息框输入两个数字,求它们的最大公约数。
方法一:
publicvoidactionPerformed(java.awt.event.ActionEvente){
intn=Integer.parseInt(JOptionPane
.showInputDialog("输入一个数:
"));
intm=Integer.parseInt(JOptionPane
.showInputDialog("输入一个数:
"));
intmax=m>n?
m:
n;
intmin=m>n?
n:
m,temp=0;
temp=m%n;
while(temp!
=0){
max=min;
max=temp;
temp=max%min;
}
JOptionPane.showMessageDialog(null,min);
}
方法二:
publicvoidactionPerformed(java.awt.event.ActionEvente){
intm=Integer.valueOf(jTextField1.getText());
intn=Integer.valueOf(jTextField2.getText());
intt,r=0;
if(n>m){
t=m;
m=n;
n=t;}
r=m%n;
while(r!
=0){
m=n;
n=r;
r=m%n;
}
jLabel.setText("最大公约数是"+n);
}
2、在一个排好序的数组中插入一个数,使得插入后还是按照从小到大的顺序排列的。
importjava.util.Arrays;
importjava.util.Random;
publicclass插数组{
publicstaticvoidmain(String[]args){
Randomrand=newRandom();
inta=0,i;
a=rand.nextInt(10)+100;
System.out.print("要插入的数是:
"+a);
int[]b;
b=newint[]{101,103,105,107,109};
System.out.print("\n原数组是:
");
for(i=0;i System.out.print(b[i]+""); }//打印原本的数组 b=newint[]{101,103,105,107,109,a};//不可以用newint[6]会把原本的删除掉 Arrays.sort(b); //对新数组进行排序(从小到大) System.out.print("\n后来的数组是: "); for(intk=0;k System.out.print(b[k]+"");//最后输出新数组 } } } 方法二: importjava.util.Random; publicclass插数组{ publicstaticvoidmain(String[]args){ Randomrand=newRandom(); inta=0,i,tem=0,mini; a=rand.nextInt(1000); System.out.print("要插入的数是: "+a); int[]b; b=newint[]{101,103,105,107,109}; System.out.print("\n原数组是: "); for(i=0;i System.out.print(b[i]+""); } System.out.println(); b=newint[]{101,103,105,107,109,a}; mini=5; for(i=0;i if(b[mini] tem=b[i]; b[i]=b[mini]; b[mini]=tem;} } System.out.print("后来的数组是: "); for(intk=0;k System.out.print(b[k]+""); } }} 3、创建一个10*10的矩阵,使得其右上角的元素全为1,左下的元素全为0。 publicclass矩阵{ publicstaticvoidmain(String[]args){ int[][]a=newint[10][10]; for(inti=0;i<10;i++){ for(intj=0;j<10;j++){ if(i<=j) a[i][j]=1; else a[i][j]=0; System.out.print(a[i][j]+""); } System.out.println(); } } } 4、窗体上方一个文本框,其中有一些文字,下方有四个文本框,要求分别统计大写字母、小写字母、数字及其它符号出现的个数。 publicvoidactionPerformed(java.awt.event.ActionEvente){ Strings1=jTextField.getText(); intshuzi=0,daxie=0,xiaoxie=0,qita=0; for(inti=0;i chars2=s1.charAt(i); if(Character.isDigit(s2)) shuzi+=1; elseif(Character.isLowerCase(s2)) xiaoxie+=1; elseif(Character.isUpperCase(s2)) daxie+=1; else qita+=1; } jTextField1.setText(""+xiaoxie); jTextField2.setText(""+daxie); jTextField3.setText(""+shuzi); jTextField4.setText(""+qita); } 5、在窗体中,有一个命令按钮,单击命令按钮时,弹出输入消息框,输入一个正整数N,计算N! 。 importjavax.swing.JOptionPane; publicclass阶乘{ publicstaticvoidmain(String[]args){ intm=Integer.parseInt(JOptionPane.showInputDialog("m")); intjiecheng=1; inti; for(i=1;i<=m;i++){ jiecheng=jiecheng*i; } System.out.print("阶乘是: "+jiecheng); } } 6、简易计算器: 在窗体上加四个Text框,分别放操作数、操作符及结果。 要求程序检查数据的合法性及给出错误提示。 操作符分别是“+”、“-”、“×”、“÷” publicvoidactionPerformed(java.awt.event.ActionEvente){ Stringregex="^[0-9]*$"; Strings1=jTextField.getText(); Strings2=jTextField.getText(); intt1=0,t2=0;; if(s1.matches(regex))t1=Integer.parseInt(s1); elseJOptionPane.showMessageDialog(null,"输入有误"); if(s2.matches(regex))t2=Integer.parseInt(s1); elseJOptionPane.showMessageDialog(null,"输入有误"); Strings=jTextField1.getText(); if(s.equals("+")) jTextField3.setText(""+(t1+t2)); elseif(s.equals("-")) jTextField3.setText(""+(t1-t2)); elseif(s.equals("*")) jTextField3.setText(""+(t1*t2)); elseif(s.equals("/")) jTextField3.setText(""+(t1/t2)); } 7、在窗体上显示如下图结果。 publicclass梯形{ publicstaticvoidmain(String[]args){ Stringstr="123456"; Stringstr1; for(inti=1;i<=6;i++){ for(intj=1;j<=i;j++){ if(i%2==0){ str1=str.substring(0,j); System.out.print("-"+str1+"");} else{ str1=str.substring(0,j); System.out.print(""+str1+"");} } System.out.println(); } } } 8、显示斐波那切数列的前20项,要求每行显示5项。 publicclass斐波那契{ publicstaticvoidmain(String[]args){ int[]a=newint[20]; inti=0; a[0]=1; a[1]=1; System.out.print(a[0]+""+a[1]+""); for(i=2;i<20;i++){ a[i]=a[i-1]+a[i-2]; System.out.print(a[i]+""); if((i+1)%5==0) System.out.println(); } } } 9、随机产生10个100以内的整数,求最大值和最小值。 importjava.util.Random; publicclass随机产生整数{ publicstaticvoidmain(String[]args){ Randomrand=newRandom(); int[]i=newint[10]; i[0]=rand.nextInt(90)+10; inta=i[0],max=0,min=i[0]; for(a=0;a i[a]=rand.nextInt(90)+10; System.out.print(i[a]+""); if(i[a]>max)max=i[a]; if(i[a] } System.out.println("\n最大值是: "+max); System.out.println("最小值是: "+min); } } 10、试着编写程序,求1到100以内所有素数个数 publicclass素数{ publicstaticvoidmain(String[]args){ for(inti=1;i<=100;i++){ intj=2; while(j if(i%j==0) break; j++; } if(j==i){ intk=0; k++; System.out.print(j+""); if(k%10==0) System.out.println(); } } } } 11、圆周率是一个非常重要的数学常量,这是一个无理数,即一个无限不循环小数。 自古至今,人们提出了很多方法来计算Pi的值。 现在有这样一种计算方法: π/4=1-1/3+1/5-1/7+…-1/i …一直到1/i的绝对值小于0.0000001为止,求Pi。 publicclassPI{ publicstaticvoidmain(String[]args){ inti=1,n=0; doublepi=0.0; do{ pi+=4*Math.pow(-1,i+1)/(2*i-1); i+=1; n++; }while(Math.abs((Math.pow(-1,i+1))/(2*i-1))>=0.0000001); System.out.print(pi); } } 12、编写一程序,找出100到1000内的所有回文数,所谓回文数,就是正读和反读都是一样的数,例如: 131,121,1221等 publicclasshuiwenshu{ publicstaticvoidmain(String[]args){ for(inti=100;i<=1000;i++){ if((int)i/100==i%10) System.out.println(i+"是回文数"); } } } 13、给定一组数(10个),求最小的那个数的序号。 importjava.util.Random; publicclass求最小下标{ publicstaticvoidmain(String[]args){ Randomrand=newRandom(); int[]a=newint[10]; inti,min=0; for(i=0;i a[i]=rand.nextInt(99); System.out.print(a[i]+"");
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 期中考试 试题 广东 药学
![提示](https://static.bdocx.com/images/bang_tan.gif)