java编程.docx

上传人:b****3 文档编号:3680430 上传时间:2022-11-24 格式:DOCX 页数:64 大小:33.88KB
下载 相关 举报
java编程.docx_第1页
第1页 / 共64页
java编程.docx_第2页
第2页 / 共64页
java编程.docx_第3页
第3页 / 共64页
java编程.docx_第4页
第4页 / 共64页
java编程.docx_第5页
第5页 / 共64页
点击查看更多>>
下载资源
资源描述

java编程.docx

《java编程.docx》由会员分享,可在线阅读,更多相关《java编程.docx(64页珍藏版)》请在冰豆网上搜索。

java编程.docx

java编程

多态是指一个程序中同名的不同方法共存的情况。

同类事物具有共同性,在同类事物中,每个事物又具有其特殊性。

【1】有一函数:

x(x<1)

y=3x-2(1≤x<10)

4x(x≥10)

编写一程序,给定x值,输出y值。

[解答]:

importjava.io.*;

publicclassT1{

publicstaticvoidmain(String[]args)throwsNumberFormatException,IOException{

InputStreamReaderisr=newInputStreamReader(System.in);

BufferedReaderbr=newBufferedReader(isr);

System.out.println("请输入数字x的值:

");

doublex=Double.parseDouble(br.readLine());

doubley=0;

if(x<1){

y=x;

}else{

if(x>=1&&x<10){

y=3*x-2;

}else{

y=4*x;

}

}

System.out.println("y="+y);

}

}

【2】编写程序,求

的值。

[解答]:

publicclassT2{

publicstaticvoidmain(String[]args){

intk,sum=0;

for(k=1;k<=10;k++){

sum=sum+k*k;

}

System.out.println("sum="+sum);

}

}

【3】编写一程序,输入3个数,能按升序输出。

[解答]:

importjava.io.BufferedReader;

importjava.io.IOException;

importjava.io.InputStreamReader;

publicclassT3{

publicstaticvoidmain(String[]args)throwsNumberFormatException,IOException{

InputStreamReaderisr=newInputStreamReader(System.in);

BufferedReaderbr=newBufferedReader(isr);

inta[]=newint[3];

intk,temp;

System.out.println("请输入3个数字(每输入一个数字后请换行)");

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

a[i]=Integer.parseInt(br.readLine());

}

for(inti=0;i

k=i;

for(intj=k+1;j

if(a[j]

k=j;

}

}

if(k!

=i){

temp=a[i];

a[i]=a[k];

a[k]=temp;

}

}

System.out.println("从小到大排序:

");

for(inti=0;i

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

}

}

}

【4】编写一各Java程序,查找1~100之间的素数并将运行结果输出。

[解答]:

publicclassT4{

publicstaticvoidmain(String[]args){

intm,k,i,n=0;

for(m=2;m<=100;m++){

for(i=2;i<=m;i++)

if(m%i==0){

break;

}

if(m==i){

System.out.print(m+"");

n=n+1;

}

if(n%10==0)

System.out.println();

}

}

}

【5】输出九九乘乘表。

1*1=1

2*1=22*2=4

3*1=33*2=63*3=9

4*1=44*2=84*3=124*4=16

5*1=55*2=105*3=155*4=205*5=25

6*1=66*2=126*3=186*4=246*5=306*6=36

7*1=77*2=147*3=217*4=287*5=357*6=427*7=49

8*1=88*2=168*3=248*4=328*5=408*6=488*7=568*8=64

9*1=99*2=189*3=279*4=369*5=459*6=549*7=639*8=729*9=81

[解答]:

publicclassT5{

publicstaticvoidmain(String[]args){

inti,j;

for(i=1;i<10;i++){

for(j=1;j<=i;j++){

System.out.print(i+"*"+j+"="+i*j+"");

}

System.out.println();

}

}

}

【6】编写程序实现:

输入一组整数,比较并输出其中的最大值和最小值,再将数组元素从小到大排序并将运行结果输出。

[解答]:

importjava.io.BufferedReader;

importjava.io.IOException;

importjava.io.InputStreamReader;

publicclassT6{

publicstaticvoidmain(String[]args)throwsNumberFormatException,IOException{

InputStreamReaderisr=newInputStreamReader(System.in);

BufferedReaderbr=newBufferedReader(isr);

inta[]=newint[5];

intk,temp;

System.out.println("请输入5个数字(每输入一个数字后请换行)");

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

a[i]=Integer.parseInt(br.readLine());

}

for(inti=0;i

k=i;

for(intj=k+1;j

if(a[j]

k=j;

}

}

if(k!

=i){

temp=a[i];

a[i]=a[k];

a[k]=temp;

}

}

System.out.println("最小数字:

"+a[0]);

System.out.println("最大数字:

"+a[a.length-1]);

System.out.println("从小到大排序:

");

for(inti=0;i

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

}

}

}

【7】编写打印下列图形的程序:

(1)

(2)(3)

#*******$

##*****$$$

###***$$$$$

####*$$$

$

[解答]:

publicclassT7_1{

publicstaticvoidmain(String[]args){

inti,j;

for(i=1;i<=4;i++){

for(j=1;j<=i;j++){

System.out.print("#"+"");

}

System.out.println();

}

}

}

publicclassT7_2{

publicstaticvoidmain(String[]args){

inti,j,k;

for(i=0;i<4;i++){

for(k=0;k

System.out.print("");

}

for(j=0;j<=6-2*i;j++)

System.out.print("*");

System.out.println();

}

}

}

publicclassT7_3{

publicstaticvoidmain(String[]args){

inti=0,blank,j,star,input=5;//input是输入的行数

Strings="";

for(i=0;i

{

blank=Math.abs(i-input/2);

for(j=1;j<=blank;j++)

s+="";

star=input-2*blank;

for(j=1;j<=star;j++)

s+="$";

s+="\n";

}

System.out.print(s);

}

}

【8】求3×3矩形对角元素之和。

[解答]:

publicclassT8{

publicstaticvoidmain(String[]args){

inti,j,sum=0;

inta[][]=newint[3][3];

for(i=0;i<3;i++){

for(j=0;j<3;j++){

a[i][j]=i+j;

}

}

//输出二维数组

for(i=0;i<3;i++){

for(j=0;j<3;j++){

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

}

System.out.println();

}

//显示对角线之和

for(i=0;i<3;i++){

sum=sum+a[i][i];

}

System.out.println("对角线之和:

"+sum);

}

}

【9】编写一程序,查找某一字符串是否包含有“abc”。

[解答]:

publicclassT9{

publicstaticvoidmain(String[]args){

Strings="yangenabc";

inta=s.indexOf("abc");

//a位找到abc的下标,找不到则返回-1

if(a!

=-1){

System.out.print("包含字符串abc");

}else{

System.out.print("不包含字符串abc");

}

}

}

【10】设一字符串中包含有大写字母的字符,也有小写字母的字符,编写一程序,将其中的大小写字母的字符分别输出。

[解答]:

publicclassT10{

publicstaticvoidmain(String[]args){

Strings="sdfKJjKjjsjdfKKJkjkjSDFsdf";

Strings1="",s2="",s3;

for(inti=0;i

s3="ABCDEFGHIJKLMNOPQRSTUVWXYZ";

if(s3.indexOf(s.charAt(i))!

=-1){

s1=s1+s.charAt(i);

}else{

s2=s2+s.charAt(i);

}

}

System.out.println("大写字母:

");

System.out.println(s1);

System.out.println("小写字母:

");

System.out.println(s2);

}

}

【11】输出一字符串,统计其中有多少个单词。

(单词之间用空格分隔)。

[解答]:

importjava.util.*;

publicclassT11{

publicstaticvoidmain(String[]args){

inti=0;

Strings="Helloworldilovejava";

StringTokenizerst=newStringTokenizer(s,"");

while(st.hasMoreTokens()){

i++;

System.out.println(st.nextToken());

}

System.out.print("单词个数:

"+i);

}

}

【12】若一个数恰好等于它的因子之和,则这个数称为“完全数”。

编写程序求1000之内的所有完全数。

解析:

什么是数的因子?

因子就是所有可以整除这个数的数,但是不包括这个数自身.

[解答]:

publicclassT12{

publicstaticvoidmain(String[]args){

inti,j,sum;

for(i=1;i<=1000;i++){

//sum归0必须在此处

sum=0;

for(j=1;j<=i/2;j++){

if((i%j)==0)

sum=sum+j;

}

if(i==sum)

System.out.print(i+"");

}

}

}

【13】.编写输入正实数x,求平方不超过x的最大正整数n,并输出。

[解答]:

importjava.util.*;

publicclassT13

{

publicstaticvoidmain(String[]args)

{

ScannerconsoleScanner=newScanner(System.in);

System.out.print("请输入正实数X:

");

intx=consoleScanner.nextInt();

inty=(int)(Math.sqrt(x));

System.out.println("n="+y);

}

}

【14】输入正整数n输出n行n列星号字符组成三角图案。

[解答]:

importjava.util.*;

publicclassT14{

publicstaticvoidmain(String[]args){

ScannerconsoleScanner=newScanner(System.in);

System.out.print("请输入正整数x:

");

intx=consoleScanner.nextInt();

for(inty=0;y

for(intm=x-y-1;m>0;m--){

System.out.print("");

}

for(intn=0;n

System.out.print("*");

}

System.out.println();

}

}

}

【15】.设有整形变量x和y的值分别为5和110.指出执行了下列语句后,变量x和y后的值分别是多少?

1)while(x<=y)x*=2;

X=160,y=110;

2)do{x=y/x;y=y-x;}while(y>=1);

X=18,y=0;

【16】.水仙花数是一个n(>=3)位的数,它等于每个数字的n次幂之和。

例如,153是一个水仙花数,153=13+53+33,是编写一个程序,求小于999的所有水仙花数。

[解答]:

publicclassT16{

publicstaticvoidmain(String[]args){

intx,y,z;

for(intm=100;m<999;m++){

x=m/100;

y=(m%100)/10;

z=(m%100)%10;

if(m==x*x*x+y*y*y+z*z*z)

System.out.print(m+"");

}

}

}

【17】.编程序解百鸡问题:

鸡翁一,值钱五,鸡母一,值钱三,鸡邹三,值钱一,百钱买百鸡,求鸡翁,鸡母,鸡邹各几何?

[解答]:

publicclassT17

{

publicstaticvoidmain(Stringargs[])

{

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

for(intj=0;j<=100;j++)

for(intk=0;k<=100;k+=3)//鸡雏的个数必须使3的倍数

{

if(((5*i+3*j+k/3)==100)&&(i+j+k==100))

System.out.println("鸡翁:

"+i+";鸡母:

"+j+";鸡雏:

"+k);

}

}

}

【18】.编写程序,按下面的公式计算自然对数底e的值:

e=1+1/1!

+1/2!

+1/3!

......

[解答]:

publicclassT18

{

publicstaticvoidmain(Stringargs[])

{

intn=1000;//计算精度

doublee=1.0;

for(inti=1;i<=n;i++)

{

e=e+1.0/T18.factorial(i);

}

System.out.println("e="+e);

}

staticdoublefactorial(inta)//计算阶乘的静态方法

{

doublef=1.0;

for(intj=1;j<=a;j++)

f=f*j;

returnf;

}

}

【19】.回文整数是正读反读相同的整数,编写一个程序,输入一个整数,判断是否为回文整数。

[解答]:

importjava.util.*;

publicclassT19//输入整数,判断是否是回文整数

{

publicstaticvoidmain(Stringargs[])

{

inta[]=newint[100];

inti=0;

booleanb=true;

ScannerconsoleScanner=newScanner(System.in);

System.out.print("请输入一个int型整数:

");

intx=consoleScanner.nextInt();

inttest=x;

while(test>0)//把整数的各个位上的数存到数组里

{

a[i]=test%10;

test=test/10;

i++;

}

for(intj=0;j

{

if(a[j]!

=a[i-j-1])

{

b=false;

break;

}

}

if(b)System.out.println(x+"是回文整数");

elseSystem.out.println(x+"并不是回文整数");

}

}

【20】.草地上有一堆野果,有一只猴子每天要吃掉一半又一个,五天后刚好吃完,问有多少个,猴子每天吃多少个?

[解答]:

publicclassT20{

publicstaticvoidmain(String[]args){

intday,x1,x2;

day=5;x2=0;

while(day>0){

x1=(x2+1)*2;

x2=x1;

day--;

}

System.out.println("共有"+x2+"个桃子。

");

System.out.println("----------------------------");

for(inti=1;i<6;i++){

inteast;

east=x2/2+1;

x2=x2/2-1;

System.out.println("第"+i+"天吃"+east+"个。

");

}

System.out.println("----------------------------");

}

}

【21】.输入整数a和b,计算并输出a、b的和与差。

例:

输入

2-8

输出

Thesumis-6

Thedifferenceis10

[解答]:

importjava.io.*;

importjava.util.Scanner;

publicclassT21{

publicstaticvoidmain(String[]args){

inta,b,sum,diff;

Scannerin=newScanner(System.in);

a=in.nextInt();

b=in.nextInt();

sum=a+b;

diff=a-b;

System.out.println("Thesumis"+sum);

System.out.println("Thedifferenceis"+diff);

}

}

【22】.输入1个实数x,计算并输出其平方根。

例:

输入

1.21

输出

Thesquarerootof1.21is1.1

[解答]:

importjava.io.*;

importjava.util.Scanner;

publicclassT22{

publicstaticvoidmain(Stringargs[]){

doublex,root;

Scannerin=newScanner(System.in);

x=in.nextDouble();

root=Math.pow(x,0.5);

System.o

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

当前位置:首页 > 工程科技 > 能源化工

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

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