java期中考试试题1广东药学院.docx

上传人:b****8 文档编号:30236163 上传时间:2023-08-13 格式:DOCX 页数:14 大小:31.97KB
下载 相关 举报
java期中考试试题1广东药学院.docx_第1页
第1页 / 共14页
java期中考试试题1广东药学院.docx_第2页
第2页 / 共14页
java期中考试试题1广东药学院.docx_第3页
第3页 / 共14页
java期中考试试题1广东药学院.docx_第4页
第4页 / 共14页
java期中考试试题1广东药学院.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

java期中考试试题1广东药学院.docx

《java期中考试试题1广东药学院.docx》由会员分享,可在线阅读,更多相关《java期中考试试题1广东药学院.docx(14页珍藏版)》请在冰豆网上搜索。

java期中考试试题1广东药学院.docx

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]+"");

if(a[i]

}

System.out.print("\n最小值的序号是:

"+min);

}

}

14、随机生成一组0到99之间的数(10个),请按照从小到大的顺序进行排序。

importjava.util.Random;

publicclass排序{

publicstaticvoidmain(String[]args){

Randomrand=newRandom();

int[]a=newint[10];

for(inti=0;i

a[i]=rand.nextInt(99);

}System.out.print("排序之前的顺序是:

");

intlen=a.length;

for(inti=0;i

System.out.print(a[i]+"");

}

intiTemp=0;

for(inti=0;i

for(intj=0;j

if(a[i]

iTemp=a[i];

a[i]=a[j];

a[j]=iTemp;

}

}

}

System.out.print("\n排序之后的顺序是:

");

for(inti=0;i

System.out.print(a[i]+"");

}

}

}

15、随机产生10个不重复的100-400的随机数,存放在数组中,并显示结果。

publicclass不重复{

publicstaticvoidmain(String[]args){

int[]arr=newint[10];

for(inti=0;i<10;i++){

arr[i]=(int)(Math.random()*300+100);

for(intj=0;j

if(arr[j]==arr[i]){

i--;

break;

}

}

}

for(inti=0;i<10;i++)

System.out.print(arr[i]+"");

}

}

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

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1