JAVA编程基础20题

1、从键盘输入一个整数,判断是不是素数

		Scanner scanner=new Scanner(System.in);
		System.out.println("Please enter a num:");
		int num=scanner.nextInt();
		boolean f=true;
		for(int i=2;i<=Math.sqrt(num);i++)
		{
			if(num%i==0)
			{
				f=false;
			}
		}
		if(f)
		{
			System.out.println(num+"是素数");
		}
		else
		{
			System.out.println(num+"不是素数");
		}

2、判断101-200之间有多少个素数,并输出所有素数。

int count=0;
		int[] prime=new int[50];
		boolean f=true;
		int k=0;
		for(int i=101;i<201;i++)
		{
			for(int j=2;j<Math.sqrt(i);j++)
			{
				if(i%j==0)
				{
					f=false;
				}
			}
			if(f)
			{
				count++;
				prime[k++]=i;
			}
			f=true;
		}
		System.out.println("101-200之间共有"+count+"个素数");
		for(int a=0;a<count;a++)
		{
			System.out.print(prime[a]+" ");
			if(a%5==0)
			{
				System.out.println();
			}
		}

3、计算10!  10!=1*2*3*…*10,并输出

int sum=1;
		for(int i=1;i<11;i++)
		{
			sum*=i;
		}
		System.out.println("10的阶乘="+sum);

4、计算1~50之间的奇数和与偶数和,并输出

int sum0=0;
		int sum1=0;
		for(int i=1;i<51;i++)
		{
			if(i%2==0)
			{
				sum0+=i;
			}
			else
			{
				sum1+=i;
			}
		}
		System.out.println("1-50的奇数和为:"+sum1+"\n"+"1-50的偶数和为:"+sum0);

5、输入一个正整数n,输出 2/1+3/2+5/3+8/5 +...的前n项之和,保留4位小数(不足4位时,不必用0填满4位)。

Scanner scanner=new Scanner(System.in);
		int n=scanner.nextInt();
		double zi=2;
		double mu=1;
		double sum=0;
		double temp;
		for(int i=0;i<n;i++)
		{
			sum+=zi/mu;
			temp=zi;
			zi=mu+zi;
			mu=temp;
		}
		DecimalFormat al=new DecimalFormat("#.0000");
		System.out.print("前n项和为:"+al.format(sum));

6、用100元钱买100只鸡,其中公鸡每只5元,母鸡每只3元,小鸡3只1元,问可买公鸡、母鸡、小鸡各多少只?

int hen;
		int cock;
		int chicken;
		while(true)
		{
			for(int i=0;i<=20;i++)
			{
				for(int j=0;j<=33;j++)
				{
					for(int k=0;k<=300;k++)
					{
						if(i+j+k==100&&i*5+j*3+k/3==100&&k%3==0)
						{
							System.out.println("cock:"+i+"只 "+"hen:"+j+"只 "+"chicken"+k+"只 ");
						}
					}
				}
			}
			break;
		}

7、输出所有的水仙花数:是一个三位数,它各位数字的立方和等于它本身。如:153 = 1*1*1 + 5*5*5 + 3*3*3

int a,b,c;
		for(int i=100;i<1000;i++)
		{
			a=i%10;
			b=i%100/10;
			c=i/100;
			if(a*a*a+b*b*b+c*c*c==i)
			{
				System.out.println(i);
			}
		}

8、求1-1000内的所有完数.(完数:因子之和与它本身相等的数 )

int sum=0;
		for(int i=1;i<1001;i++)
		{
			for(int j=1;j<=i/2;j++)
			{
				if(i%j==0)
				{
					sum+=j;
				}
			}
			if(sum==i)
			{
				System.out.println(i);
			}
			sum=0;
		}

9、输入一个学生的成绩,给出相应的等,(用switch语句实现:0-59:D 60-69:C 70-84:B 85-100:A

Scanner scanner=new Scanner(System.in);
		int score=scanner.nextInt();
		switch(score/10)
		{
		    case 10: System.out.println("A");
		    case 9: System.out.println("A");
		    case 8: if(score>=85)
		    		{
		    			System.out.println("A");break;
		    		}
		    		else
		    		{
		    			System.out.println("B");break;
		    		}
		    case 7: System.out.println("B");break;
		    case 6: System.out.println("C");break;
		    default : System.out.println("D");
		}

10、输入三角形的三条边,判断是否是直角三角形(rightTriangle )

Scanner scanner=new Scanner(System.in);
		double a=scanner.nextDouble();
		double b=scanner.nextDouble();
		double c=scanner.nextDouble();
		if(a+b>c||a+c>b||b+c>a)
		{
			System.out.println("该三边可以组成一个三角形");
		}
		if(a*a+b*b==c*c||a*a+c*c==b*b||c*c+b*b==a*a)
		{
			System.out.println("该三角形是一个直角三角形");
		}

11、编程输出斐波那契数列: F(n) = F(n - 1) + F(n - 2)

Scanner scanner=new Scanner(System.in);
		int n=scanner.nextInt();
		int[] F=new int[n];
		F[0]=1;
		F[1]=1;
		for(int i=2;i<F.length;i++)
		{
			F[i]=F[i-1]+F[i-2];
		}
		for(int i=0;i<F.length;i++)
		{
			System.out.print(F[i]+" ");
			if(i%5==0)
			{
				System.out.println();
			}
		}

12、判断一个串是不是回文:如果翻转后的串和原串一样则是回文

Scanner scanner=new Scanner(System.in);
		int n=scanner.nextInt();
		String[] arr=new String[n];
		int flag=1;
		for(int i=0;i<n;i++)
		{
			String str=scanner.next();
			arr[i]=str;
		}
		int m=arr.length-1;
		for(int i=0;i<arr.length;i++)
		{
			if(!(arr[i].equals(arr[m--])))
			{
				System.out.println("该字符串不是回文");
				flag=0;
				break;
			}
		}
		
		for(int i=0;i<arr.length;i++)
		{
			System.out.print(arr[i]+" ");
		}
		if(flag==1)
		{
			System.out.println("该字符串是回文");
		}

13、创建一个数组,数组内容为[1,2,5,6,0,0,3,9]编写程序去除数组中的0,并输出除去0后的结果


		int[] arr= {1,2,5,6,0,0,3,9};
		int j = 0;
		for(int i =0;i<arr.length;i++) {
			if(arr[i]!=0) {
				j++;
			}
		}
		int[] newarr=new int[j];
		j=0;
		for(int i=0;i<arr.length;i++) {
			if(arr[i]!=0) {
				newarr[j]=arr[i];
				j++;
			}
		}
		for(int i=0;i<newarr.length;i++) {
			System.out.print(newarr[i]+" ");
		}

14、在唱歌比赛中共有10位评委进行打分,在计算歌手得分时,去掉一个最高分,去掉一个最低分,然后剩余8位评委的分数进行平均,就是该选手的最终得分,从键盘输入每个评委的评分,求选手的最终得分。

Scanner scanner = new Scanner(System.in);
		double[] arr =new double[10];
		
		for(int i=0;i<10;i++) {
			
			arr[i]=scanner.nextDouble();
		}
		double min,max;
		min=max=arr[0];
		for(int i=1;i<arr.length;i++) {
			if(arr[i]>max) {
				max=arr[i];
			}
			if(arr[i]<min) {
				min=arr[i];
			}
		}
		double sum =0;
		for(int i=0;i<arr.length;i++) {
			sum+=arr[i];
		}
		sum-=(min+max);
		double average=sum/8;
		System.out.println("该选手的最终得分为:"+average);

15、编写敏感词过滤程序:从键盘输入聊天内容,将聊天内容中的

 “性”、“色情”、“爆炸”、“恐怖”、“枪”、“军火”等敏感词用*号替换,并将替换后的结果输出。

Scanner scanner =new Scanner(System.in);
		String str = scanner.nextLine();
		String[] dirty = {"性","色情","爆炸","恐怖","枪","军火"};
		for(String s : dirty) {
			str = str.replace(s, "*");
		}
		System.out.println("聊天内容:"+str);

16、判断闰年

Scanner scanner=new Scanner(System.in);
		int year=scanner.nextInt();
		while(true)
		{
			if(year%400==0||year%4==0&&year%100!=0)
			{
				System.out.println(year+"是闰年");
				break;
			}
			else
			{
				System.out.println(year+"不是闰年");
				break;
			}
		}

17、动态数组缩减

int[] arr= {1,2,3,4,5};
		Scanner scanner=new Scanner(System.in);
		do
		{
			int[] arrnew=new int[arr.length-1];
			for(int i=0;i<arr.length-1;i++)
			{
				arrnew[i]=arr[i];
			}
			System.out.println("是否继续缩减?y/n");
			char sign=scanner.next().charAt(0);
			arr=arrnew;
			if(arr.length<=1)
			{
				System.out.println("无法继续缩减");
				break;
			}
			if(sign=='n')
			{
				break;
			}
		}while(true);
		for(int i=0;i<arr.length;i++)
		{
			System.out.print(arr[i]);
		}

18、冒泡排序

int[] numgroup=new int[5];
		System.out.println("请输入数组元素:");
		Scanner scanner=new Scanner(System.in);
		for(int i=0;i<numgroup.length;i++)
		{
			numgroup[i]=scanner.nextInt();
		}
		for(int i=1;i<numgroup.length;i++)
		{
			for(int j=0;j<numgroup.length-i;j++)
			{
				int temp;
				if(numgroup[j]>numgroup[j+1])
				{
					temp=numgroup[j];
					numgroup[j]=numgroup[j+1];
					numgroup[j+1]=temp;
				}
			}
			
		}
		for(int i=0;i<numgroup.length;i++)
		{
			System.out.print(numgroup[i]+",");
		}

19、杨辉三角

Scanner scanner=new Scanner(System.in);
		int a=scanner.nextInt();
		int arr[][]=new int[a][];
		//java 数组无值默认为零,都会输出,记得开空间
		for(int i=0;i<arr.length;i++)
		{
			arr[i]=new int[i+1];
		}
		for(int i=0;i<arr.length;i++)
		{
			arr[i][0]=1;
			arr[i][i]=1;
		}
		
		for(int i=2;i<arr.length;i++)
		{
			for(int j=1;j<i;j++)
			{
				arr[i][j]=arr[i-1][j-1]+arr[i-1][j];
			}
		}
		
		for(int i=0;i<arr.length;i++)
		{
			for(int j=0;j<arr[i].length;j++)
			{
				System.out.print(arr[i][j]+" ");
			}
			System.out.println();
		}

20、从键盘输入一个字符串(有数字,标点符号,字母),统计字符串中的数字个数,字母个数,标点符号个数,并输出到屏幕上。

Scanner scanner=new Scanner(System.in);
		String str=scanner.next();
		char[] arr=str.toCharArray();
		int num=0;
		int punctuation=0;
		int letter=0;
		for(int i=0;i<arr.length;i++)
		{
			if(arr[i]>='0'&&arr[i]<='9')
			{
				num++;
			}
			else
			if((arr[i]>='a'&&arr[i]<='z')||(arr[i]>='A'&&arr[i]>='Z'))
			{
				letter++;
			}
			else
			{
				punctuation++;
			}
		}
		System.out.println("该数组共有数字:"+num+"个,"+"字母:"+letter+"个,"+"标点符号:"+punctuation+"个。");

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值