朝花夕拾 Java练习2

朝花夕拾 Java习题集2

欢迎扫码关注公众号"野心与家", 回复12.15获取更多内容

点击此处回顾上一篇:朝花夕拾 Java练习1

1.一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高?

package com.Dome.aoian;
public class Dome {
    
    
	public static void main(String[] args) {
    
    
		int i;
		double h=50,s=100;
		for(i=1;i<10;i++)
		{
    
    
			s=s+2*h;
			h=h/2;			
		}
        System.out.println(h);
		System.out.println(s);		
	}
}

2.猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下 的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少

package com.Dome.aoian;
public class Dome {
    
    
	public static void main(String[] args) {
    
    
		int s=1;
		for(int day=9;day>0;day--)
		{
    
    
			s=2*(s+1);
		}
		System.out.println(s);
	}
}

3.两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单,a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单

package com.Dome.aoian;
public class Dome {
    
    
	public static void main(String[] args) {
    
    
		char a,b,c;
		for(a='x';a<='z';a++)
		{
    
    
			for(b='x';b<='z';b++)
			{
    
    
				for(c='x';c<='z';c++)
				{
    
    
					if(a!=b&&a!=c&&b!=c&&a!='x'&&c!='x'&&c!='z')
					{
    
    
						System.out.println("a与"+a);
						System.out.println("b与"+b);
						System.out.println("c与"+c);						
					}
				}			
			}
		}
	}
}

4.输出图形

package com.Dome.aoian;
public class Dome {
    
    
	public static void main(String[] args) {
    
    
		for(int i=1;i<=6;i++)
		{
    
    
			for(int k=1;k<=13-2*i;k++)		//for(int k=1;k<=6-i;k++)
			{
    
    
				System.out.print(" ");				
			}
			for(int j=1;j<=2*i-1;j++)
			{
    
    
				System.out.print("*");
			}
			System.out.println();
		}
	}
}

5.我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?

package com.Dome.aoian;
public class Dome {
    
    
	public static void main(String[] args) {
    
    
		int x,y,z;
		for(x=1;x<20;x++)			//不超过20只
		{
    
    
			for(y=1;y<33;y++)		//不超过33只
			{
    
    
				for(z=3;z<100;z++)	//不超过100只
				{
    
    
					if(x+y+z==100&&5*x+3*y+z/3==100&&z%3==0)
					{
    
    
						System.out.println("鸡翁"+x+"母鸡"+y+"鸡雏"+z);
					}
				}
			}
		}
	}
}

6.鸡兔同笼:
“鸡兔同笼问题”是我国古算书《孙子算经》中著名的数学问题,其内容是:“今有雉(鸡)兔同笼,上有三十五头,下有九十四足。问雉兔各几何。”

package com.Dome.aoian;
public class Dome {
    
    
	public static void main(String[] args) {
    
    
		int ji,tu;
		int jiao=94;
		int tou=35;
		tu=(jiao-tou*2)/2;
		ji=tou-tu;
		System.out.println(ji+"和"+tu);
	}
}

7.输入一行字符,分别统计出英文字母、空格、数字和其它字符的个数

package com.Dome.aoian;
import java.util.Scanner;
public class Dome {
    
    
	public static void main(String[] args) {
    
    
		System.out.println("请输入一行字符:");
		Scanner sc=new Scanner(System.in);
		String s=sc.nextLine();
		char[] ch=s.toCharArray();
		int a=0,b=0,c=0,d=0;
		for(int i=0;i<ch.length;i++) //i !=ch.length
		{
    
    
			if(ch[i]>='0'&&ch[i]<='9')
			{
    
    
				a++;
			}
			else if(ch[i]>='a'&&ch[i]<='z'||ch[i]>='A'&&ch[i]<='Z')
			{
    
    
				b++;
			}
			else if(ch[i]==' ')
			{
    
    
				c++;
			}
			else
			{
    
    
				d++;
			}
				
		}
		System.out.println("数字个数是:"+a);
		System.out.println("英文字母个数是:"+b);
		System.out.println("空格个数是:"+c);
		System.out.println("其他字符个数是:"+d);
	}
}

8.有一个数列:1,1,2,3,5,8,13,21,34。。。。输出该数列的前20项(要求5个数一行)

扫描二维码关注公众号,回复: 13069149 查看本文章
package com.Dome.aoian;
public class Dome {
    
    
	public static void main(String[] args) {
    
    
		int n[]= new int[20];
		n[0]=n[1]=1;
		for(int i=2;i<20;i++)
		{
    
    
			n[i]=n[i-1]+n[i-2];
		}
		System.out.println("该数列的前二十项之和是:");
		for(int i=0;i<20;i++)
		{
    
    
			System.out.print(n[i]+"\t");
			if((i+1)%5==0)
				System.out.println();
		}
	}
}

9.输入10个整数,使用冒泡排序和选择排序算法将10个数从小到大排列并输出。

package com.Dome.aoian;
import java.util.Scanner;
public class Dome {
    
    
	public static void main(String[] args) {
    
    
		System.out.println("请输入一行字符:");
		Scanner sc=new Scanner(System.in);
		int a[]=new int[10];
		for(int i=0;i<a.length;i++)
		{
    
    
			a[i]=sc.nextInt();
		}
		for(int i=0;i<a.length;i++)
		{
    
    
			for(int j=0;j<a.length-i-1;j++)
			{
    
    
				if(a[j]>a[j+1])
				{
    
    
					int t=a[j];
					a[j]=a[j+1];
					a[j+1]=t;
				}			
			}			
		}
		System.out.println("从小到大为:");
		for(int i=0;i<a.length;i++)
			System.out.print(a[i]+" ");
	}
} 
package com.Dome.aoian;
import java.util.Scanner;
public class Dome {
    
    
	public static void main(String[] args) {
    
    
		System.out.println("请输入一行字符:");
		Scanner sc=new Scanner(System.in);
		int a[]=new int[10];
		for(int i=0;i<a.length;i++)
		{
    
    
			a[i]=sc.nextInt();
		}
		for(int i=0;i<a.length;i++)
		{
    
    
			for(int j=i+1;j<a.length;j++)
			{
    
    
				if(a[i]>a[j])
				{
    
    
					int t=a[j];
					a[j]=a[i];
					a[i]=t;
				}			
			}			
		}
		System.out.println("从小到大为:");
		for(int i=0;i<a.length;i++)
			System.out.print(a[i]+" ");
	}
} 

10.有一个从小到大排列的数列:12,23,35,56,68。现输入一个100以内的整数,把它插入数列中,使其仍是从小到大排列

package com.Dome.aoian;
import java.util.Scanner;
public class Dome {
    
    
	public static void main(String[] args) {
    
    
		System.out.println("插入之前为:12,33,35,56,68");
		System.out.println("请输入一个100以内的整数:");
		Scanner sc=new Scanner(System.in);
		int i;
		int a[]=new int[6];
		a[0]=12;
		a[1]=23;
		a[2]=35;
		a[3]=56;
		a[4]=68;
		a[5]=sc.nextInt();
		for(i=0;i<a.length;i++)
		{
    
    
			int t=0;
			if(a[5]<a[i])
			{
    
    
				t=a[i];
				a[i]=a[5];
				a[5]=t;
			}
			System.out.print(a[i]+" ");
		}
	}
}

猜你喜欢

转载自blog.csdn.net/m0_46653702/article/details/111240259