JAVA编程基础20题
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+"个。");
更多推荐



所有评论(0)