第1题

暂未保存

第2题

暂未保存

第3题 代码填空. 键盘输入Scanner(10分)


import java.util.Scanner;
public class Main {public static void main(String args[]) {Scanner reader=new Scanner(System.in);
System.out.println("输入姓名(回车确认):");
String name=reader.next(); //从键盘为name赋值
System.out.println("输入年龄(回车确认):");
byte age=reader.nextByte(); //从键盘为age赋值
System.out.println("输入身高(回车确认):");
float height=reader.nextFloat(); //从键盘为height赋值
System.out.println("--基本信息--");
System.out.println("姓名:"+name);
System.out.println("年龄:"+age);
System.out.println("身高:"+height);}
}

第4题 编写程序,判断是否被3和8整除(10分)

import java.util.Scanner;
public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);while(in.hasNext()){int n = in.nextInt();if(n%3==0&&n%8==0)System.out.println("yes");elseSystem.out.println("no");}in.close();}
}

第5题 输入程序:从键盘输入半径经判断后求圆的面积(10分)

import java.util.Scanner;
public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);double r = in.nextDouble();if(r>0)System.out.println(3.14*r*r);elseSystem.out.println("圆的半径要大于0!");in.close();}
}

第6题

import java.util.Scanner;
public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);double r = in.nextDouble();if(r>0)System.out.println(3.14*r*r*r*4/3.0);elseSystem.out.println("球的半径要大于0!");in.close();}
}

第7题

import java.util.*;public class Main {public static void main(String[] args) {Scanner in =new Scanner (System.in);while(in.hasNext()){double r,s,h;r=in.nextDouble();h=in.nextDouble();if(r>0&&h>0){s=r*h/2;System.out.println(s);}elseSystem.out.println("直角三角形的高和边长要大于0!");        }}
}

第8题 代码填空. 求四位回文数之和(10分)

public class Main {public static void main(String[] args) {// TODO Auto-generated method stub
int sum=0;
for (int i = 1000; i<10000; i++) {int k=i/1000;
int m=(i/100)%10;
int n=(i/10)%10;
int l=i%10;
if (k==l&&m==n) {sum+=i;
}
}
System.out.println(sum);
}
}

第9题 C语言程序修改为Java应用程序,Fibonacci数列前n+1项的积(10分)

import java.util.Scanner;
// TODO Auto-generated method stub
public class Main {public static void main(String[] args) {{Scanner in=new Scanner(System.in);long  f1=1,f2=1;int n=in.nextInt();System.out.println(sum(n,f1,f2));}
}
public static long sum(int num, long f1,long f2)
{long f,k=f1+f2;int i;for(i=3;i<=num;i++){f=f1+f2;k=k*f;f1=f2;f2=f;}return k;  }
}

第10题

import java.util.Scanner;
// TODO Auto-generated method stub
public class Main {public static void main(String[] args) {{Scanner sc=new Scanner(System.in);long sum=1;long n=sc.nextInt();for(int i=1;i<=n;i++){sum*=i;}System.out.println("sum="+sum);}
}
}

第11题 编程:从键盘输入n后求n/2+(n+1)/2+(n+2)/2+…+n*n/2(10分)

import java.util.Scanner;
// TODO Auto-generated method stub
public class Main {public static void main(String[] args) {{Scanner sc=new Scanner(System.in);long sum=0;long n=sc.nextInt();for(int i=0;i<=n*n-n;i++){sum+=(n+i)/2;}System.out.println("sum="+sum);}
}
}

第12题

import java.util.Scanner;
// TODO Auto-generated method stub
public class Main {public static void main(String[] args) {{Scanner sc=new Scanner(System.in);long sum=0;long n=sc.nextInt();for(int i=0;i<=n*2-n;i++){sum+=(n+i)*(n+i);}System.out.println("sum="+sum);}
}
}

第13题

import java.util.Scanner;
// TODO Auto-generated method stub
public class Main {public static void main(String[] args) {{Scanner sc=new Scanner(System.in);long sum=1;long n=sc.nextInt();for(int i=0;i<=n*2-n;i++){sum*=(n+i);}System.out.println("sum="+sum);}
}
}

第14题

第14题 编程:从键盘输入k和n后求k+(k+1)+...+n(10分)

Time Limit : 1.0 s Memory Limit : 32 MB

下面程序是求1+2+…+100的值:

请在此程序的基础上,编写程序求k+(k+1)+…+n的和值,其中整数k和n从键盘输入(k<n)。
说明:如果k=10,n=20,就是求10+11+…+20. 如果k=100,n=150,就是求100+101+…+150.
重要说明:按题目“从键盘输入n”的要求和下面的样例要求进行其它修改。
提示:(1) 注意修改1+2+…+100程序中的cnt=1,本题从k开始,就是说初值=k。
(2) 注意从键盘输入k的语句是int k=in.nextInt();
样例1
从键盘输入2个整数:
1
100
输出为:
sum=5050

样例2
从键盘输入2个整数:
100
150
输出为:
sum=6375

import java.util.Scanner;
public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);long sum = 0;long k = in.nextLong();   //这用int,long都一样long n = in.nextLong();for(int i =0;i<=n-k;i++){sum+=(k+i);}System.out.println("sum="+sum);}}

第15题 编程:从键盘输入k和n后求k*(k+1)*…*n(10分)

import java.util.Scanner;
public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);long sum = 1;long k = in.nextLong();  long n = in.nextLong();for(long i =0;i<=n-k;i++){sum*=(k+i);  //同上题,只需修改部分即可}System.out.println("sum="+sum);}}

第16题

第16题 编程序求[200,M]中的所有素数之和(10分)

请编Java程序求[200,M]中的所有素数之和。
其中200<M<1000。
输入格式
输入1个整数M。
输出格式
[200,M]中的所有素数之和。

样例1输入:
300
样例1输出:
4048

import java.util.Scanner;
public class Main {public static void main(String[] args) {Scanner in=new Scanner(System.in);int sum=0;int m=in.nextInt();for(int i =200;i<=m;i++){for(int j =2;j<i/2;j++){if(i%j==0)break;if(j==i/2-1){sum+=i;}}}System.out.println(sum);}}

第17题

第17题 编程:统计大小写字母个数(字符串)(10分)
请编写程序:输入字符串,统计大小写字母个数,然后输出该数.

输入格式
输入一个字符串。
输出格式
输出一个整数。

样例输入
abc123AB
样例输出
5
再介绍一下while(hasNext());的用法:
例如in.hasNext() 表示你是否有输入数据,
用于while语句块时,表示当你输入数据的时候,就执行输出in.next()(输出内容)
所以只要你输入数据了,它就可以执行,
所以后台只是开了一块内存,一直未关闭,不算死循环
通俗的理解就是,你键盘一直输入,就会一直进行这个循环,知道你输入回车后终止。

import java.util.*;
public class Main {public static void main(String[] args) {// TODO Auto-generated method stubScanner in = new Scanner(System.in);while(in.hasNext())    //循环输入单个字符{String  s = in.next();int sum =0;char[] a = s.toCharArray();  //将输入的单个字符串成一个数组for(int i=0;i<a.length;i++){if((a[i]>='A'&&a[i]<='Z')||(a[i]>='a'&&a[i]<='z'))sum++;}System.out.println(sum);}}}

第18题 编程序求[200,M]上的所有闰年之和(10分)

第18题 编程序求[200,M]上的所有闰年之和(10分)

请编程序求[200,M]中的所有闰年之和。
其中200<M<1000。
由历法可知,4年设一闰,但每100年少一个闰年,即能被4整除但不能被100整除的年份为闰年;每400年又增加一个闰年,即能被400整除的年份也为闰年。
输入格式
输入1个整数M。
输出格式
[200,M]中的所有闰年之和。

样例1输入:
208
样例1输出:
412

import java.util.Scanner;
public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);int n = in.nextInt();int sum = 0;for(int i = 200;i<=n;i++){if((i%100!=0&&i%4==0)||i%400==0){sum+=i;}}System.out.println(sum);}
}

如果想一次输入多个样例的话就可以使用while(hasNext())循环

第19题 编程:求n个实数中的最大数(10分)

请编写程序:输入n个实数(double型),求这n个实数中的最大数,然后输出该数.

输入格式
n
n个用空格分隔开的实数。
输出格式
输出一个实数。

样例输入
4
2.9 20 8.1 9.4
样例输出
20.0

import java.util.Scanner;
public class Main {public static void main(String[] args) {// TODO Auto-generated method stubScanner in = new Scanner(System.in);while(in.hasNext()){int n = in.nextInt();double max = in.nextDouble();for(int i = 1;i<n;i++){max = Math.max(max, in.nextDouble());}System.out.println(max);}}}

第20题

第20题 编程:求n个整数之积(10分)
请编写程序:输入n个整数(int型),求这n个整数之积,然后输出该数.
其中:1<=n<=15,每个整数的绝对值<=12。
输入格式
n
n个用空格分隔开的整数。
输出格式
输出一个积(整数)。

样例输入
4
2 1 8 9
样例输出
144

import java.util.Scanner;public class Main {public static void main(String[] args) {// TODO Auto-generated method stubScanner in = new Scanner(System.in);while(in.hasNext()){int n = in.nextInt();long s = in.nextInt();for(int i = 1;i<n;i++){s *=in.nextInt();}System.out.println(s);}}}

第21题 C语言程序改为Java程序,判断一个三位数是否"次水仙花数"(10分)

下面是C语言程序,请修改为Java应用程序。运行时输出一些数据检验,并将结果写入结果文件。
/*------------------------------------------------
功能:调用函数fun判断一个三位数是否"次水仙花数"。
在main函数中从键盘输入一个三位数,并输
出判断结果。请编写fun函数。
说明:所谓"次水仙花数"是指一3位数,其各位数字立方和,
加上各位数字之和,等于该数本身。
例如:870是一个次水仙花数,因为870=83+73+0^3+8+7+0。

------------------------------------------------/
int fun(int n)
{
int bw,sw,gw;
bw=n/100;sw=(n-bw
100)/10;gw=n%10;
if(n==+(bw+sw+gw)+bwbwbw+swswsw+gwgwgw) return 1;
else return 0;
}
main()
{
int n,flag;
scanf("%d",&n);
flag=fun(n);
if(flag)
printf(“yes\n”);
else
printf(“no\n”);
}
样例1:
输入
870
输出
yes

样例2:
输入
110
输出
no

import java.util.Scanner;
public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);int n = in.nextInt();boolean flag=fun(n);if(flag)System.out.println("yes");elseSystem.out.println("No");}//定义函数public static boolean fun(int n){int bw,sw,gw;bw=n/100;sw=(n-bw*100)/10;gw=n%10;if(n==+(bw+sw+gw)+bw*bw*bw+sw*sw*sw+gw*gw*gw) return true;else return false;}}

第22题 编写程序:斐波那契图形(10分)

编写一个求斐波那契数列的递归函数,输入n值,使用该递归函数,输出如样例输出的斐波那契数列。
输入:
一个整型数n
输出:
题目可能有多组不同的测试数据,对于每组输入数据,
按题目的要求输出相应的斐波那契图形。
注意输出换行前不能有多余的空格。
样例输入:

6

样例输出:

0
0 1 1
0 1 1 2 3
0 1 1 2 3 5 8
0 1 1 2 3 5 8 13 21
0 1 1 2 3 5 8 13 21 34 55

import java.util.Scanner;
public class Main {//递归方法求斐波那契数列public static int fun(int n){if(n==1) return 0;if(n==2)return 1;elsereturn fun(n-2)+fun(n-1);}public static void main(String[] args) {Scanner s=new Scanner(System.in);while(s.hasNext()) {int n=s.nextInt();for(int i=1;i<=n;i++){for(int j=1;j<=2*i-1;j++){if(j!=2*i-1)System.out.print(fun(j)+" ");if(j==2*i-1)System.out.println(fun(j));}}}}
}

第23题 编程:求奇数的倒数之和值(10分)

问题描述:
编写程序求1/1+1/3+…+1/(2n+1)的和值,其中整数n从键盘输入(0=<n<1000)。

输入格式
整数n
输出格式
1/1+1/3+…+1/(2n+1)的和值

样例输入
1
2
样例输出
Sum is 1.3333333333333333
Sum is 1.5333333333333332

import java.util.Scanner;
public class Main {public static void main(String[] args) {Scanner s=new Scanner(System.in);while(s.hasNext()) {int n=s.nextInt();double sum=0;for(int i=1;i<=2*n+1;i=i+2){sum+=1.0/i;}System.out.println("Sum is "+sum);}s.close();}
}

第24题 编写部分程序,求平方和立方(10分)

import java.util.*;
public class Main {public static void main(String[] args) {Scanner in=new Scanner(System.in);int t=in.nextInt();int z=f(t);//类内调用方法fSystem.out.println(z);double w=f1(t);System.out.println(w);}
//y=f(x)=x*x 整数x(叫形参)private static int f(int x){//========此处添加代码=========
int y=x*x;//========添加代码结束=========return y; }
//y=f1(x)=x*x*x 整数xpublic static double f1(double x){return x*x*x; //返回表达式的值}
}

第25题 编写部分程序,求球的体积(10分)

import java.util.*;
public class Main {public static void main(String[] args) {Scanner in=new Scanner(System.in);double t=in.nextDouble();double z=f(t);//类内调用方法fSystem.out.println(z);}
//球体积y=f(r) 实数r(叫形参)private static double f(double r){//========此处添加代码=========
double y=4/3.0*r*r*r*3.14;//========添加代码结束=========return y; }
}

第26题 程序改错题,500以内最大的10个能被3整除的自然数之和(10分)

public class Main
{public static void main(String args[]){int k,s=0,mc=0;/***********FOUND***********/for (k=500;k>0;k--) {if (k%3 == 0){ /***********FOUND***********/s+=k;mc++; }/***********FOUND***********/if (mc==10)break; }System.out.println("Sum is "+s);}
}

第27题

题目描述:
输入球的中心点和球上某一点的坐标,计算球的半径和体积
输入:
球的中心点和球上某一点的坐标,以如下形式输入:x0 y0 z0 x1 y1 z1
输出:
输入可能有多组,对于每组输入,输出球的半径和体积,并且结果保留三位小数
样例输入:
0 0 0 1 1 1
1
样例输出:
1.732 21.766

import java.util.Scanner;
// TODO Auto-generated method stub
public class Main {public static void main(String[] args) {{Scanner sc=new Scanner(System.in);while(sc.hasNext()){double bj,tj;double x0=sc.nextDouble(),y0=sc.nextDouble(),z0=sc.nextDouble();double x1=sc.nextDouble(),y1=sc.nextDouble(),z1=sc.nextDouble();bj=Math.sqrt((x0-x1)*(x0-x1)+(y0-y1)*(y0-y1)+(z0-z1)*(z0-z1));tj=bj*bj*bj*3.14159*4/3.0;System.out.printf("%.3f",bj);    System.out.print(" ");    System.out.printf("%.3f",tj);     }}
}
}

第28题

题目描述:
给定一个正整数a,以及另外的5个正整数,问题是:这5个整数中,小于a的整数的和是多少?
输入:
输入一行,只包括6个小于100的正整数,其中第一个正整数就是a。
输出:
可能有多组测试数据,对于每组数据,
输出一行,给出一个正整数,是5个数中小于a的数的和。
样例输入:
10 1 2 3 4 11
样例输出:
10

import java.util.Scanner;public class Main {public static void main(String[] args) {// TODO Auto-generated method stubScanner in = new Scanner(System.in);while(in.hasNext()){int a = in.nextInt();int sum = 0;for(int i = 0;i<5;i++){int b = in.nextInt();if(b<a)sum+=b;}System.out.println(sum);}in.close();}}

第29题 编写程序输出对称平方数(10分)

题目描述:
打印所有不超过n(0<=n<256)的,其平方具有对称性质的数。
如11*11=121
输入:
无任何输入数据
输出:
输出具有题目要求的性质的数。如果输出数据不止一个,各个数据之间以回车隔开。

public class Main {public static void main(String[] args) {// TODO Auto-generated method stubint n = 0,m = 0;int[] cc = new int[200];for (int i = 0;i<4;i++){cc[m]=i;m++;}for(int i = 4;i<=256;i++){String s = String.valueOf(i*i);char [] c = s.toCharArray();int x,y;for(x = 0,y = c.length-1;x<c.length/2;x++,y--){if(c[x]!=c[y])break;}if(x>=c.length/2){cc[m]=i;m++;}}for(int i = 0;i<m-1;i++){System.out.println(cc[i]);}System.out.print(cc[m-1]);}}

第30题 编写程序:递推数列(10分)

递推数列(10分)
题目描述:
给定a0,a1,以及an=pa(n-1) + qa(n-2)中的p,q。这里n >= 2。 求第k个数对10000的模。

输入:

输入包括5个整数:a0、a1、p、q、k。

输出:

第k个数a(k)对10000的模。

样例输入:

20 1 1 14 5
1
样例输出:
8359

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);while(in.hasNext()){int a[] = new int [100000];a[0] = in.nextInt();a[1] = in.nextInt();int p = in.nextInt();int q = in.nextInt();int k = in.nextInt();for(int i = 2;i<=k;i++){a[i] = a[i-1]*p+a[i-2]*q;a[i]%=10000;}System.out.println(a[k]);}  in.close();}
}

第31题 编写程序求各位数字之和(10分)

题目描述:
对于给定的正整数 n,计算其十进制形式下所有位置数字之和,并计算其平方的各位数字之和。

输入:
4
12
97
39999
0
每行输入数据包括一个正整数n(0<n<40000),如果n=0 表示输入结束,并不用计算。
输出:
4 7
3 9
16 22
39 36
对于每个输入数据,计算其各位数字之和,以及其平方值的数字之和,输出在一行中,之间用一个空格分隔,但行末不要有空格。

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);int sum1,sum2,sum3;while(true){sum1=0;sum2=0;sum3=0;int n = in.nextInt();if(n==0) break;String str=String.valueOf(n);char[] ss =str.toCharArray();for(int i = 0;i<ss.length;i++){sum1+=(int)ss[i]-48;}sum2=n*n;String str1=String.valueOf(sum2);char[] ss1 =str1.toCharArray();for(int j = 0;j<ss1.length;j++){sum3+=(int)ss1[j]-48;}System.out.println(sum1+" "+sum3);}in.close();}
}

第32题

与7无关的数平方和
题目描述:
一个正整数,如果它能被7整除,或者它的十进制表示法中某个位数上的数字为7,
则称其为与7相关的数.现求所有小于等于n(n<100)的与7无关的正整数的平方和。
输入:21
案例可能有多组。对于每个测试案例输入为一行,正整数n,(n<100)
输出:
对于每个测试案例输出一行,输出小于等于n的与7无关的正整数的平方和。
样例输入:2336

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);while(in.hasNext()){int n = in.nextInt();int sum = 0; for(int i = 0;i<=n;i++){if(i%7==0) continue;String str=String.valueOf(i);char[] ss =str.toCharArray();int j = 0;for(j = 0;j<ss.length;j++){if(ss[j]=='7') break;}if(j<ss.length)continue;sum+=i*i;}System.out.println(sum);} in.close();}
}

第33题

编程题:最大公约数
题目描述:
输入两个正整数,求其最大公约数。
输入:49 14
测试数据有多组,每组输入两个正整数。
输出:7
对于每组输入,请输出其最大公约数。

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);while(in.hasNext()){int n = in.nextInt();int m = in.nextInt();int t = Math.min(m, n);for(int i = t;i>0;i--){if(n%i==0&&m%i==0){System.out.println(i);break;}}}   in.close();}
}

第34题 编程题:求n个整数的平均值(10分)

给出n个整数,找出这n个数的平均值。

将有多组数据,组数预先未知。

输入格式
每组数据第一行为整数n,表示数的个数。
每组数据第二行有n个数,为给定的n个数,每个数的绝对值都小于10000。
输出格式
每组数据输出一行,表示n个整数的平均值(有小数)
样例输入
5
1 3 -2 4 5
3
1 2 4
样例输出
2.2
2.3333333333333335

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);while(in.hasNext()){int n = in.nextInt();double sum = 0;for(int i = 0; i<n;i++){sum+=in.nextInt();}sum/=n;System.out.println(sum);}  in.close();}
}

第35题 java输出字符串中的大写字母

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);while(in.hasNext()){int n = in.nextInt();for(int i = 0; i<n;i++){String str = in.next();char[] ss =str.toCharArray();for(int j = 0;j<ss.length;j++){if(ss[j]<='Z'&&ss[j]>='A'){System.out.print(ss[j]);}}System.out.println();}} in.close();}
}

第36题 字符串合并的例子(8分)

请将下面程序的【代码】替换为Java程序代码,使程序运行正确。
文件Main.java

import java.util.Scanner;
public class Main {
static String【代码1】 strArray = new String[100];
static int n;// 要进行操作的字符串个数
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 从键盘获取n
n = Integer.parseInt(sc.nextLine());
for (int i = 0; i < n; i++) {
// 从键盘获取字符串
【代码2】= sc.nextLine();
}
System.out.println(“你输入的字符串如下:”);
for (int i = 0; i < n; i++) {
System.out.println(strArray[i]);
}
String st2 = stringAdd();// 字符串数组合并为一个字符串
System.out.println(st2);
}
// 此方法的作用是将字符串数组转换成一个字符串
public static 【代码3】 stringAdd() {
String string = “”;
for (int i = 0; i < n; i++) {
string = string 【代码4】 strArray[i];
}
return string;
// 将这个字符串返回
}
}
测试数据
2
qw
er
输出:qwer

import java.util.Scanner;
public class Main {static String[] strArray = new String[100];
static int n;// 要进行操作的字符串个数
public static void main(String[] args) {Scanner sc = new Scanner(System.in);
// 从键盘获取n
n = Integer.parseInt(sc.nextLine());
for (int i = 0; i < n; i++) {// 从键盘获取字符串
strArray[i]= sc.nextLine();}
System.out.println("你输入的字符串如下:");
for (int i = 0; i < n; i++) {System.out.println(strArray[i]);}
String st2 = stringAdd();// 字符串数组合并为一个字符串
System.out.println(st2);}
// 此方法的作用是将字符串数组转换成一个字符串
public static String stringAdd() {String string = "";
for (int i = 0; i < n; i++) {string = string + strArray[i];}
return string;
// 将这个字符串返回}
}

第37题 编程:n个整数的逆序输出(10分)

请编写程序:对输入的n个整数进行逆序并输出.

输入格式
n
n个用空格分隔开的整数。
输出格式
逆序(n个用一个空格分隔开的整数)。

样例输入
3
1 3 2
样例输出
2 3 1
注意: 2 3 1 中间只有一个空格, 尾部1的后面一个空格

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);int[] a = new int [10000];int n = in.nextInt();for(int i = 0;i<n;i++){a[i]=in.nextInt();}for(int i = n-1;i>=0;i--){System.out.print(a[i]+" ");}in.close();}
}

第38题

计算M以内最大的10个能被3整除的自然数之和
问题描述:
题目:计算并输出M以内最大的10个能被3整除的自然数之和,其中100<=M<=5000。
测试数据可能有多组,组数未知。
样例输入

270
120
1
2
样例输出

Sum is 2565
Sum is 1065

输入格式
自然数n
输出格式
M以内最大的10个能被3整除的自然数之和

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);while(in.hasNext()){int sum = 0;int n = in.nextInt();int j = 0;for(int i = n;i>0;i--){if(i%3==0){sum+=i;j++;}if(j==10)break;}System.out.println("Sum is "+sum);}in.close();}
}

第39题 数组奇偶位对换,并输出奇数下标的元素值

请编写程序:对输入的整数数组对换下标相邻的奇数位和偶数位,并输出下标为奇数(1,3,5,…)的元素值.

输入格式
n
n个用空格分隔开的整数。
输出格式
输出若干个整数(每行一个数)。
样例输入
5
5 1 2 3 4
1
2
样例输出
2
4

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);int[] a = new int [10000];int n = in.nextInt();for(int i = 0;i < n; i++){a[i] = in.nextInt();}for(int i = 1;i < n;i++){if(i%2==0)System.out.println(a[i]);}if(n%2==0)System.out.println(a[n-1]);in.close();}
}

第40题

程序运行结果,数组变化和输出

public class Main {private static void printArray(int[] arr){for(int i = 0;i<arr.length;i++)System.out.print(arr[i]+",");System.out.println("\n");}private static void changeValue(int value){value*=2;}private static void changeValue(int[] arr){for(int i = 0;i<arr.length;i++)arr[i]*=2;}public static void main(String[] args) {int[] arr={1,2,3,4,5};changeValue(arr[0]);printArray(arr);changeValue(arr);printArray(arr);}
}

第41题 编程求数组最大值及其下标(10分)

对于给定整数数组a[],寻找其中最大值,并返回下标。
输入格式
  整数数组a[],数组元素个数小于等于100。输出数据分作两行:第一行只有一个数,表示数组元素个数;第二行为数组的各个元素。
输出格式
  输出最大值,及其下标
样例输入
3
33 2 1
样例输出
33 0

import java.util.*;
public class Main {public static void main(String[] args) {// TODO Auto-generated method stubScanner cin = new Scanner(System.in);while(cin.hasNext()){int n=cin.nextInt();int ans=cin.nextInt();int pos=0;for(int i=1;i<n;i++){int x=cin.nextInt();if(x>ans){ans=x;pos=i;}}System.out.println(ans+" "+pos);}}}

第42题 编程找x在某数组中的下标(10分)

时间限制:1 秒内存限制:32 兆
输入一个数n,然后输入n个数值各不相同,再输入一个值x,输出这个值在这个数组中的下标(从0开始,若不在数组中则输出-1)。
输入:
测试数据有多组,输入n(1<=n<=200),接着输入n个数,然后输入x。
输出:
对于每组输入,请输出结果。
样例输入:
2
1 3
0
样例输出:
-1

import java.util.*;
public class Main {public static void main(String[] args) {// TODO Auto-generated method stubScanner cin = new Scanner(System.in);int []a= new int[2005];while(cin.hasNext()){int n=cin.nextInt();int pos=-1;for(int i=0;i<n;i++){a[i]=cin.nextInt();}int x=cin.nextInt();for(int i=0;i<n;i++){if(x==a[i]) {pos=i;break;}}System.out.println(pos);}}
}

第43题

第43题 编程实现最大最小数的互换

import java.util.*;
public class Main {public static void main(String[] args) {// TODO Auto-generated method stubScanner cin = new Scanner(System.in);int []a= new int[2005];while(cin.hasNext()){int n=cin.nextInt();for(int i=0;i<n;i++){a[i]=cin.nextInt();}int min=a[0],max=a[0];int minp=0,maxp=0;for(int i=1;i<n;i++){if(a[i]<min){min=a[i];minp=i;}if(a[i]>max){max=a[i];maxp=i;}}int tmp=a[minp];a[minp]=a[maxp];a[maxp]=tmp;for(int i=0;i<n;i++){System.out.print(a[i]);if(i!=n-1) System.out.print(" ");}}}
}

第44题

第44题 编写. 计算某日是星期几

import java.util.*;
public class Main {public static void main(String[] args) {// TODO Auto-generated method stubScanner cin = new Scanner(System.in);while(cin.hasNext()){int W;int y=cin.nextInt();int m=cin.nextInt();int d=cin.nextInt();W=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7+1;System.out.println("星期="+W);}System.out.println("The Main class is end.");}
}

第45题

第45题 编程求若干个整数之最大值,最小值,和

import java.util.*;
public class Main {public static void main(String[] args) {// TODO Auto-generated method stubScanner cin = new Scanner(System.in);int []a= new int[2005];while(cin.hasNext()){int n=cin.nextInt();for(int i=0;i<n;i++){a[i]=cin.nextInt();}int min=a[0],max=a[0];int sum=a[0];for(int i=1;i<n;i++){if(a[i]<min){min=a[i];}if(a[i]>max){max=a[i];}sum+=a[i];}System.out.println(max);System.out.println(min);System.out.println(sum);}}
}

第46题 填写代码. Point类例子(1)(10分)

下面程序是Point类的基本操作例子,请将下面程序的【代码】替换为Java程序代码,使程序运行正确。文件Main.java

import java.util.Scanner;
public class Main {public static void main(String args[]) {// TODO Auto-generated method stubScanner in = new Scanner(System.in);int n = in.nextInt();Point pt = new Point(1, n);// 创建对象System.out.println("pt.x=" +pt.x);// 取pt.x = 5;// 修改System.out.println("pt.x=" + pt.x);pt.move(3, 3);// 移动System.out.println("pt.x=" + pt.x);System.out.println("pt.y=" + pt.y);Point pt2 = new Point();// 声明对象并newSystem.out.println("pt2.x=" + pt2.x);pt2 = new Point(9, 2);System.out.println("pt2.x=" + pt2.x);}
}
class Point {int x, y;// 成员变量,属性public Point() {// 无参构造方法x = 0;y = 0;}public Point(int ix, int iy) {// 有参构造方法x = ix;y = iy;}public void move(int ix, int iy) {// 方法x += ix;// x=x+ixy += iy;}
}

第47题 填写代码. 类的基本操作简单例子(10分)

下面程序是类的基本操作简单例子.
请将下面程序的【代码】替换为Java程序代码,使程序运行正确。
文件Main.java

public class Main {
public static void main (String args[ ]) {
【代码1】//命令行窗口输出"教学活动从教室开始"
Teacher zhang = new Teacher();
Student jiang = 【代码2】Student();//创建对象
zhang.introduceSelf();
jiang.【代码2】; //调用它的方法
}
}
class Teacher {
void introduceSelf() {
【代码3】 //命令行窗口输出"我是李老师"
}
}

class Student {
void introduceSelf() {
【代码4】/ /命令行窗口输出"我是学生,名字是:奖励"
}
}

public class Main {public static void main (String args[ ]) {System.out.println("教学活动从教室开始");//命令行窗口输出"教学活动从教室开始"Teacher zhang = new Teacher();Student jiang = new Student();//创建对象zhang.introduceSelf();jiang.introduceSelf(); //调用它的方法}
}
class Teacher {void introduceSelf() {System.out.ptintln("我是李老师");    //命令行窗口输出"我是李老师"}
}class Student {void introduceSelf() {System.out.println("我是学生,名字是:奖励");//命令行窗口输出"我是学生,名字是:奖励"}
}

第48题

第48题 填写代码. 关于Point类的操作(2)(10分)
下面程序构造一个类来描述屏幕上的一个点,该类的构成包括点的 x 和 y 两个坐标,以及一些对点 进行的操作,包括:取得点的坐标值,对点的坐标进行赋值,编写应用程序生成该类的对象并 对其进行操作。
请将下面程序的【代码】替换为Java程序代码,使程序运行正确。
文件Main.java

public class Main { public static void main(String[] args) {Point Point1 = new Point(3, 4);System.out.println("Point1:" + "(" +Point1.x + "," + Point1.y + ")");Point Point2 = Point1.getPoint();System.out.println("Point2:" + "("+ Point2.x + "," + Point2.y + ")");Point Point3 = new Point(5, 6);Point1.setPoint(Point3);System.out.println("Point1:" + "(" +Point1.x + "," + Point1.y + ")");}
}class Point {int x, y;public Point(int x, int y) {this.x = x;this.y = y;
}public Point getPoint() {Point tempPoint = new Point(x, y);return tempPoint;
}public void setPoint(Point point) {this.x = point.x;this.y = point.y;}
}

第49题 填写代码. 关于Point类的操作(3)(10分)

下面程序构造一个类来描述屏幕上的一个点,该类的构成包括点的 x 和 y 两个坐标,以及一些对点 进行的操作,包括:取得点的坐标值,对点的坐标进行赋值,编写应用程序生成该类的对象并 对其进行操作。
请将下面程序的【代码】替换为Java程序代码,使程序运行正确。
文件Main.java

public class Main {public static void main(String[] args) {// TODO Auto-generated method stubPoint origin = new Point(10, 10);origin.getPoint();origin.setPoint(20, 20);origin.getPoint();}
}class Point {private int x;private int y;public Point(int x, int y) {this.x = x;this.y = y;
}public void setPoint(int x1, int y1) {x = x1;y = y1;
}public void getPoint() {System.out.println("Point x: " + x + ",y: " + y);}
}

第50题 编写部分代码. 按面向对象要求编程在Employee加入身份证(10分)

下面程序在Employee类中加入身份证信息,但类Employee中部分代码缺失.请编写程序代码,使程 序运行正确。具体要求, 修改Employee中5个参数的构造器为6个参数的构造器;缺少一个名称为getID()的方法.需要加入。
输入:
姓名
身份证
工资
以空格分隔的日期,形式为YYYY MM DD
输出:
姓名:xxx 身份证:yyyyy 工资:d 这里xxx和yyyyy是字符串,d是double数
The Main class is end.

样例输入:

Romeo
430502199807101121
50000
2014 7 11

样例输出

姓名:Romeo 身份证:430502199807101121 工资:52500.0
The Main class is end.

下列Java应用程序是用户从键盘输入个人信息,然后程序将个人信息输出。
请按程序实现要求,将下面程序的【代码】替换为Java程序代码。

import java.util.*;
public class Main {public static void main(String args[]) {Scanner reader = new Scanner(System.in);String name=reader.nextLine();String ID=reader.nextLine();int salary= reader.nextInt();int year = reader.nextInt();int month=reader.nextInt();int day=reader.nextInt();
Employee e = new Employee(name,ID,salary,year,month,day);
e.raiseSalary(5);      //这改成5才判题真确,但是题的意思应该为6
System.out.println("姓名:"+e. getName()+ " 身份证:" +e.getID()+" 工资:"+ e.getSalary());System.out.println("The Main class is end.");}
}class Employee {private String name;//私有域,姓名private String ID;//私有域,身份证private double salary;//私有域,工资private Date hireDay; //私有域,录用日期//构造方法public Employee(String n,String i, double s, int year, int month, int day){name = n;//参数,(局部)变量ID =i;salary = s;//参数, (局部)变量GregorianCalendar calendar = new GregorianCalendar(year, month - 1, day);// GregorianCalendar uses 0 for January(1月份是0)hireDay = calendar.getTime();}public String getName() {return name;
}
public String getID() {return ID;
}
public double getSalary() {return salary;
}
public Date getHireDay() {return hireDay;
}
//"涨工资"计算
public void raiseSalary(double byPercent)
{double raise = salary * byPercent / 100;salary += raise;
}}

第51题

第51题 代码填空. 通过类完成加法运算(10分)
下列Java应用程序是用户从键盘输入个人信息,然后程序将个人信息输出。
请按程序实现要求,将下面程序的【代码】替换为Java程序代码。

import java.util.Scanner;
public class Main {public static void main(String[] args) {System.out.println(Plus.add(5));//显示5+2的结果Scanner reader=new Scanner(System.in);  double y=reader.nextDouble();System.out.println(Plus.add(y));//显示1+y的结果Plus aPlus=new Plus(3,4);System.out.println(aPlus.add());//显示3+4的结果}
}
class Plus{static int a=1,b=2;//域int x,y;public Plus() {x=0;y=0;
}
public Plus(int x, int y) {this.x = x;this.y = y;
}
public static int add(int x){return(x+b);
}
public int add(){return(x+y);
}
public static double add(double y){return(a+y);
}
public static int add(int x,int y){return (x+y);}
}

第52题 填写代码,以Employee类为例的静态域和静态方法(10分)

以下程序是有关静态域和静态方法的例子,请将下面程序的【代码】替换为Java程序代码,使程序运行正确。文件Main.java
输入:
n个数
输出:
按程序运行结果
The Main class is end.

样例输入:

3 4 6

样例输出:

name=Tom,id=1,salary=40000.0
name=Dick,id=4,salary=60000.0
name=Harry,id=8,salary=65000.0
Next available id=14
The Main class isend.


import java.util.Scanner;
public class Main
{public static void main(String[] args){Employee[] staff = new Employee[3];staff[0] = new Employee("Tom", 40000);staff[1] = new Employee("Dick", 60000);staff[2] = new Employee("Harry", 65000);Scanner reader=new Scanner(System.in);for (Employee e: staff){int n=reader.nextInt();e.setId(n);System.out.println("name=" + e.getName() + ",id=" + e.getId() + ",salary="+ e.getSalary());}int n = Employee.getNextId(); // calls static methodSystem.out.println("Next available id=" + n);System.out.println("The Main class is end.");}
}
class Employee
{private static int nextId = 1;private String name;private double salary;private int id;public Employee(String n, double s){name = n;salary = s;id = 0;}public String getName(){return name;}public double getSalary(){return salary;}public int getId(){return id;}public void setId(int n){id = nextId; // set id to next available idnextId+=n;}public static int getNextId() //静态方法{return nextId; // returns static field}
}

第53题 编写程序:完美(回文串)的代价(10分)

回文串,是一种特殊的字符串,它从左往右读和从右往左读是一样的。小龙龙认为回文串才是完美的。现在给你一个串,它不一定是回文的,请你计算最少的交换次数使得该串变成一个完美的回文串。
  交换的定义是:交换两个相邻的字符
  例如mamad
  第一次交换 ad : mamda
  第二次交换 md : madma
  第三次交换 ma : madam (回文!完美!)
输入格式
  第一行是一个整数N,表示接下来的字符串的长度(N <= 8000)
  第二行是一个字符串,长度为N.只包含小写字母
输出格式
  如果可能,输出最少的交换次数。
  否则输出Impossible
样例输入

5
mamad

样例输出

3

import java.io.BufferedWriter;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.util.*;public class Main {public  static  void main(String [] args){Scanner sc =new Scanner(System.in);int n=sc.nextInt();String str = sc.next();char []ch=str.toCharArray();int num[]=new int[26];for(int i=0;i<n;i++){num[ch[i]-'a']++;}int count=0;for(int i=0;i<26;i++)if(num[i]%2!=0)count++;if(count>=2) System.out.println("Impossible");else System.out.println(getCount(str));}static int getCount(String str){if(str.length()==1||str.length()==2) return 0;int temp = str.lastIndexOf(str.charAt(0));if(temp==0){return str.length()/2+getCount(str.substring(1,str.length()));///等于本身也就是说此字符是放在中间的}else{StringBuilder stringBuilder = new StringBuilder(str);stringBuilder.deleteCharAt(temp);///移除找到的回文字符stringBuilder.deleteCharAt(0);return str.length()-temp-1+getCount(stringBuilder.toString());}}
}

第54题 编写程序:字符串对比(10分)

给定两个仅由大写字母或小写字母组成的字符串(长度介于1到10之间),它们之间的关系是以下4中情况之一:
  1:两个字符串长度不等。比如 Beijing 和 Hebei
  2:两个字符串不仅长度相等,而且相应位置上的字符完全一致(区分大小写),比如 Beijing 和 Beijing
  3:两个字符串长度相等,相应位置上的字符仅在不区分大小写的前提下才能达到完全一致(也就是说,它并不满足情况2)。比如 beijing 和 BEIjing
  4:两个字符串长度相等,但是即使是不区分大小写也不能使这两个字符串一致。比如 Beijing 和 Nanjing
  编程判断输入的两个字符串之间的关系属于这四类中的哪一类,给出所属的类的编号。
输入格式
  包括两行,每行都是一个字符串
输出格式
  仅有一个数字,表明这两个字符串的关系编号
样例输入

BEIjing
beiJing

样例输出

3

import java.util.Scanner;
public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);String A = sc.next();String B = sc.next();char  arr1 []= A.toCharArray();char  arr2 [] = B.toCharArray();if(arr1.length!=arr2.length){System.out.println("1");}else{if(A.equals(B)){System.out.println(2);}else{if(A.equalsIgnoreCase(B)){System.out.println(3);}else{System.out.println(4);}}}}
}

第55题

第55题 填写代码,以Point类为例的类继承(10分)
以下程序是有关类继承的例子,请将下面程序的【代码】替换为Java程序代码,使程序运行正确。
文件Main.java
第55题 填写代码,以Point类为例的类继承(10分)
以下程序是有关类继承的例子,请将下面程序的【代码】替换为Java程序代码,使程序运行正确。
文件Main.java

import java.util.Scanner;
class Point {
public 【代码1】 x, y;//域(成员属性)
//无参构造器(方法)
public Point() {
x = 0;
y = 0;
}
// 有参构造器(方法)
public 【代码2】(int x ,int y) {
this.x = x;
this.y = y;
}
//成员方法
protected void move(【代码3】) {
x += ix;
y += iy;
}
}
class Son 【代码4】 Point{
private int x,y;//隐藏父亲的x,y
//无参
public Son(){
this.x=0;
this.y=0;
}

//有参
public Son(int x,int y){
this.x=x;
this.y=y;
}
public int getX() {
return x;
}

public int getY() {
return y;
}
}
class Son1 extends Point {
public Son1(){
//this.x=0;
//this.y=0;
【代码5】;//调用父类的构造器(方法)Point()
}
//有参
public Son1(int x,int y){
//this.x=x;
//this.y=y;
【代码6】;//调用父类的构造器(方法)Point(int x,int y)
}
public void move(int ix,int iy){
【代码7】.move(ix, iy);//调用父类的move(…)
}
}
public class Main {
/**

  • @param args
    */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    Point pt=new Point();//声明对象变量,创建(实例化)
    【代码8】.x=1;//pt中x赋值1
    System.out.println(“pt.x=”+pt.x+"\npt.y="+pt.y);
    Son son=new Son(1,2);
    Son1 son1=new Son1();
    son1.x=1;
    son1.move(2, 3);//继承
    System.out.println(“son1.x=”+ son1.x+"\nson1.y="+ son1.y);
    son.【代码9】(2, 3);//继承
    System.out.println(“son.x=”+ son.【代码10】);//显示son中x的值
    }
    }
import java.util.Scanner;
class Point {public int x, y;//域(成员属性)//无参构造器(方法)
public Point() {x = 0;y = 0;
}
// 有参构造器(方法)
public Point(int x ,int y) {this.x = x;this.y = y;
}
//成员方法
protected void move(int ix,int iy) {x += ix;y += iy;}
}
class Son extends Point{private int x,y;//隐藏父亲的x,y//无参
public Son(){this.x=0;this.y=0;
}//有参
public Son(int x,int y){this.x=x;this.y=y;
}
public int getX() {return x;
}public int getY() {return y;
}
}
class Son1 extends Point {public Son1(){//this.x=0;//this.y=0;
super();//调用父类的构造器(方法)Point()
}
//有参
public Son1(int x,int y){//this.x=x;//this.y=y;super(x,y);//调用父类的构造器(方法)Point(int x,int y)
}public void move(int ix,int iy){super.move(ix, iy);//调用父类的move(...)}
}
public class Main {/**
* @param args
*/
public static void main(String[] args) {// TODO Auto-generated method stubPoint pt=new Point();//声明对象变量,创建(实例化)pt.x=1;//pt中x赋值1System.out.println("pt.x="+pt.x+"\npt.y="+pt.y);Son son=new Son(1,2);Son1 son1=new Son1(); son1.x=1;son1.move(2, 3);//继承System.out.println("son1.x="+ son1.x+"\nson1.y="+ son1.y);son.move(2, 3);//继承System.out.println("son.x="+ son.getX());//显示son中x的值}
}

第56题 填写代码。运用继承进行两个银行存款计算利息的例子.(10分)

下列Java应用程序输出银行在利息方面的信息。
请将下面程序的【代码】替换为Java程序代码,使程序运行正确。
文件Main.java

class Bank {
int savedMoney;
int year;
double interest;
double interestRate = 0.29;
public double computerInterest() {
interest=yearinterestRatesavedMoney;
return 【代码1】;//返回利息
}
public void setInterestRate(double rate) {
interestRate = rate;
}
}
class ConstructionBank extends Bank {
double year;
public double computerInterest() {
super.year=(int)year;
double r = year-(int)year;
int day=(int)(r1000);
double yearInterest = 【代码2】 //super调用隐藏的computerInterest()方法
double dayInterest = day
0.0001savedMoney;
interest= yearInterest+dayInterest;
System.out.printf("%d元存在建设银行%d年零%d天的利息:%f元\n",
savedMoney,super.year,day,interest);
return interest;
}
}
class BankOfDalian【代码3】 Bank { //继承
double year;
public double computerInterest() {
super.year=(int)year;
double r = year-(int)year;
int day=(int)(r
1000);*
double yearInterest = 【代码4】// super调用隐藏的computerInterest()方法
double dayInterest = day0.00012savedMoney;
interest= yearInterest+dayInterest;
System.out.printf("%d元存在大连银行%d年零%d天的利息:%f元\n",
savedMoney,super.year,day,interest);
return interest;
}
}
public class Main {
public static void main(String args[]) {
int amount=8000;
ConstructionBank bank1 = new ConstructionBank();
bank1.savedMoney = amount;
bank1.year = 8.236;
bank1.setInterestRate(0.035);
double interest1 = bank1.【代码5】;//计算利息
BankOfDalian bank2 = new BankOfDalian();
bank2.savedMoney = amount;
bank2.year = 8.236;
bank2.setInterestRate(0.035);
double interest2=bank2.【代码6】;//计算利息
System.out.printf(“两个银行利息相差%f元\n”,interest2-interest1);
}
}

class Bank {int savedMoney;int year;double interest;double interestRate = 0.29;public double computerInterest() {interest=year*interestRate*savedMoney;return  interest;//返回利息}public void setInterestRate(double rate) {interestRate = rate;}}class ConstructionBank extends Bank {double year;public double computerInterest() {super.year=(int)year;double r = year-(int)year;int day=(int)(r*1000);double yearInterest = super.computerInterest(); //super调用隐藏的computerInterest()方法double dayInterest = day*0.0001*savedMoney;interest= yearInterest+dayInterest;System.out.printf("%d元存在建设银行%d年零%d天的利息:%f元\n",savedMoney,super.year,day,interest);return interest;}}class BankOfDalian extends Bank {  //继承double year;public double computerInterest() {super.year=(int)year;double r = year-(int)year;int day=(int)(r*1000);double yearInterest = super.computerInterest();// super调用隐藏的computerInterest()方法double dayInterest = day*0.00012*savedMoney;interest= yearInterest+dayInterest;System.out.printf("%d元存在大连银行%d年零%d天的利息:%f元\n",savedMoney,super.year,day,interest);return interest;}}public class Main {public static void main(String args[]) {int amount=8000;ConstructionBank bank1 = new ConstructionBank();bank1.savedMoney = amount;bank1.year = 8.236;bank1.setInterestRate(0.035);double interest1 = bank1.computerInterest();//计算利息BankOfDalian bank2 = new BankOfDalian();bank2.savedMoney = amount;bank2.year = 8.236;bank2.setInterestRate(0.035);double interest2=bank2.computerInterest();//计算利息System.out.printf("两个银行利息相差%f元\n",interest2-interest1);}}

第57题 填写代码,基类Person(10分)

以下程序是以Person为例的有关抽象类定义有使用的例子,请将下面程序的【代码】替换为Java程序代码,使程序运行正确。
文件Main.java

import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Student[] aStudent = new Student[3];
Scanner reader=new Scanner(System.in);
aStudent[0] = new Student(“Tom”,reader.nextLine());
aStudent[1] = new Student(“Dick”,reader.nextLine());
aStudent[2] = new Student(“Harry”,reader.nextLine());
for(Student 【代码1】: aStudent)
{
System.out.println(“name=” + e.getName() + “,id=” + e.getDescription());
}
System.out.println(“The Main class is end.”);
}
}
【代码2】 class Person {
private String name;
public String getName() {
return name;
}
public Person(String n){
name=n;
}
public abstract String getDescription();
}
class Student extends Person
{
private String 【代码3】;
public Student(String n, String m)
{
super(n);
major = m;
}
@Override
【代码4】getDescription(){
return "a student majoring in " + major;
}
}

输入:
n个数
输出:
按程序运行结果
The Main class is end.

样例输入:
Math
En
Phy
样例输出:
name=Tom,id=a student majoring in Math
name=Dick,id=a student majoring in En
name=Harry,id=a student majoring in Phy
The Main class is end.

import java.util.Scanner;
public class Main
{public static void main(String[] args){Student[] aStudent = new Student[3];Scanner reader=new Scanner(System.in);aStudent[0] = new Student("Tom",reader.nextLine());aStudent[1] = new Student("Dick",reader.nextLine());aStudent[2] = new Student("Harry",reader.nextLine());for(Student e: aStudent){System.out.println("name=" + e.getName() + ",id=" + e.getDescription());}System.out.println("The Main class is end.");}
}
abstract class Person {private String name;
public String getName() {return name;
}
public Person(String n){name=n;
}
public abstract String getDescription();
}
class Student extends Person
{private String major;
public Student(String n, String m)
{super(n);
major = m;
}
@Override
public String getDescription(){return "a student majoring in " + major;
}
}

第60题 填写代码,接口Colors(10分)

以下程序是以Colors为例的有关接口定义和使用的例子,请将下面程序的【代码】替换为Java程序代码,使程序运行正确。
文件Main.java

import java.util.Scanner;
public class Main {
public static void main(String[] args) {
BaseColors bC=new 【代码1】();//需要使用实现类进行实例化
Scanner reader=new Scanner(System.in);
int n=reader.nextInt();
String colorName=bC.【代码2】(n);//获取值为n=1,2,…,7的颜色名称.
System.out.println(colorName+“色”);//显示颜色名称
System.out.println(“The Main class is end.”);
}
}
interface BaseColors {
//这里都是静态公共常量
int RED = 1, BLUE = 4;//红、蓝
//这是一个抽象的公共方法
String getColorName(int color);//获取颜色名称
}
【代码3】 RGBColors extends BaseColors {
//这是静态常量
int GREEN = 2;//增加 绿色
}
class RGBColorsImp implements RGBColors{
@Override
public String getColorName(int color) {
switch (color){
case 1:
return “红”;
case 2:
return “绿”;
case 4:
return “蓝”;
default:
return “未知”;
}
}
}
//彩虹七种颜色:红色、黄色、绿色、蓝色、粉色、棕色、紫色
//red,yellow,green,blue,pink,brown,purple
interface RainbowColors extends RGBColors {
//新增加了4个成员常量
int YELLOW = 3, PINK = 5, BROWN = 6, PURPLE =7;
}
//彩虹七种颜色:红色、黄色、绿色、蓝色、粉色、棕色、紫色
class RainbowColorsImp extends RGBColorsImp 【代码4】 RainbowColors{
@Override
public String getColorName(int color) {
switch (color){
case 3:
return “黄”;
case 5:
return “粉”;
case 6:
return “棕”;
case 7:
return “紫”;
default:
return 【代码5】.getColorName(color);
}
}
}

输入:
n
输出:
颜色名称
The Main class is end.

样例输入:
6
样例输出:
棕色
The Main class is end.

import java.util.Scanner;
public class Main {public static void main(String[] args) {BaseColors bC=new RainbowColorsImp();//需要使用实现类进行实例化Scanner reader=new Scanner(System.in);int n=reader.nextInt();String colorName=bC.getColorName(n);//获取值为n=1,2,..,7的颜色名称.System.out.println(colorName+"色");//显示颜色名称System.out.println("The Main class is end.");}
}
interface BaseColors {//这里都是静态公共常量int RED = 1, BLUE = 4;  //红、蓝//这是一个抽象的公共方法String getColorName(int color);//获取颜色名称
}
interface RGBColors extends BaseColors {//这是静态常量int  GREEN = 2;//增加 绿色}
class RGBColorsImp implements RGBColors{@Overridepublic String getColorName(int color) {switch (color){case 1:return "红";case 2:return "绿";case 4:return "蓝";default:return "未知";}}
}
//彩虹七种颜色:红色、黄色、绿色、蓝色、粉色、棕色、紫色
//red,yellow,green,blue,pink,brown,purple
interface RainbowColors extends RGBColors {
//新增加了4个成员常量
int YELLOW = 3, PINK = 5, BROWN = 6, PURPLE =7;
}
//彩虹七种颜色:红色、黄色、绿色、蓝色、粉色、棕色、紫色
class RainbowColorsImp extends RGBColorsImp implements RainbowColors{@Overridepublic String getColorName(int color) {switch (color){case 3:return "黄";case 5:return "粉";case 6:return "棕";case 7:return "紫";default:return super.getColorName(color);}}
}

第61题 代码填空, Colors接口基本使用操作(10分)

下列Java应用程序是接口的定义、继承和基本使用操作。
请按程序实现要求,将下面程序的【代码】替换为Java程序代码。

文件Main.java
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Baseclass b=new 【代码1】();
int n=b.getColorValue();
System.out.println(“n=”+n);
}
}
//定义接口BaseColors
interface BaseColors {
//这里都是静态公共常量
int RED = 1, GREEN = 2, BLUE = 4;
//这是一个抽象的公共方法
int getColorValue(int color);
}
//接口RainbowColors继承了BaseColors
interface RainbowColors
extends 【代码2】 {
//新增加了4个成员常量
int YELLOW = 3, ORANGE = 5,
INDIGO = 6, VIOLET =7;
//还自动继承了父接口的3个成员常量和1个抽象方法

}
//接口PrintColors继承了BaseColors
interface PrintColors
extends BaseColors {
//增加3个成员常量
int YELLOW = 8, CYAN = 16, MAGENTA = 32;
//覆盖了父接口的成员方法,仍然是抽象的
int getColorValue(int color);
//还可以重载,和其它方法名相同,但参数有差异
int 【代码3】();
}
//接口PrintColors继承了BaseColors
interface LotsOfColors extends RainbowColors, PrintColors {
//这是多重继承,增加3个成员常量
int FUCHSIA = 17, VERMILION = 43, CHARTREUSE = RED+90;
}

class Baseclass 【代码4】 LotsOfColors {
@Override
public int getColorValue() {
// TODO Auto-generated method stub
return 0;
}
@Override
public int 【代码5】(int color) {
// TODO Auto-generated method stub
return 0;
}
}

public class Main {public static void main(String[] args) {// TODO Auto-generated method stubBaseclass b=new Baseclass();int n=b.getColorValue();System.out.println("n="+n);}
}
//定义接口BaseColors
interface BaseColors {//这里都是静态公共常量int RED = 1, GREEN = 2, BLUE = 4;    //这是一个抽象的公共方法int getColorValue(int color);
}
//接口RainbowColors继承了BaseColors
interface RainbowColors
extends BaseColors {//新增加了4个成员常量int YELLOW = 3, ORANGE = 5,INDIGO = 6, VIOLET =7;
//还自动继承了父接口的3个成员常量和1个抽象方法      }
//接口PrintColors继承了BaseColors
interface PrintColors
extends BaseColors {//增加3个成员常量int  YELLOW = 8, CYAN = 16, MAGENTA = 32;//覆盖了父接口的成员方法,仍然是抽象的int  getColorValue(int color);//还可以重载,和其它方法名相同,但参数有差异int getColorValue();
}
//接口PrintColors继承了BaseColors
interface LotsOfColors extends RainbowColors, PrintColors {//这是多重继承,增加3个成员常量int FUCHSIA = 17, VERMILION = 43, CHARTREUSE = RED+90; }class Baseclass implements LotsOfColors {@Override
public int getColorValue() {// TODO Auto-generated method stub
return 0;
}
@Override
public int getColorValue(int color) {// TODO Auto-generated method stub
return 0;
}
}

第62题 代码填空题, 子类的变量覆盖父类变量(10分)

此题的上机步骤是:

  1. 建立一个Java项目,名称可以按题号取名;
  2. 建立一个类, 类的名称为Main。这一点非常重要;
  3. 填代码;
  4. 提交代码,注意题号要一致。
  5. 注意只能修改【代码】之处,不能修改其它地方,否则以0分计

下面程序是子类的变量覆盖父类变量。
请将下面程序的【代码】替换为Java程序代码,使程序运行正确。

文件Main.java
import java.util.*;
public class Main 【代码1】 Ancestor{ //定义一个子类
private int defVar = 100; //将父类的defVar隐藏起来
public 【代码2】 getValue(){
return defVar;
}
public static void main(String args[]){
【代码3】 oa = new Main();
System.out.println(“oa.defVar=”+oa.defVar);
System.out.println(“oa.getValue()=”+oa.getValue());
oa.proShow();
oa.pubShow();
}
}
class Ancestor{
private int priVar = 1;
int defVar = 2;
protected int proVar = 3;
public int pubVar = 4;
private void priShow(){
System.out.println(“This is a private method”);
}
void defShow(){
System.out.println(“This is a default method”);
}
protected void proShow(){
System.out.println(“This is a protected method,defVar=”+defVar);
}
public void pubShow(){
System.out.println(“This is a public method,pubVar=”+pubVar);
}
}

import java.util.*;
public class Main extends Ancestor{ //定义一个子类private int defVar = 100;        //将父类的defVar隐藏起来public int getValue(){return defVar;}public static void main(String args[]){Main oa = new Main();System.out.println("oa.defVar="+oa.defVar);System.out.println("oa.getValue()="+oa.getValue());oa.proShow();oa.pubShow();}
}
class Ancestor{private     int priVar = 1;int defVar = 2;protected  int proVar = 3;public      int pubVar = 4;private  void priShow(){System.out.println("This is a private method");}void defShow(){System.out.println("This is a default method");}protected void proShow(){System.out.println("This is a protected method,defVar="+defVar);}public void pubShow(){System.out.println("This is a public method,pubVar="+pubVar);}
}

第64题 填写代码,算术运算异常处理(Try/Catch-finally)例子(10分)

此题的上机步骤是:

  1. 建立一个Java项目,名称可以按题号取名;
  2. 建立一个类, 类的名称为Main。这一点非常重要;
  3. 填代码;
  4. 提交代码,注意题号要一致。

有如下程序,是异常处理(Try/Catch)的例子,完成的功能为捕获异常,并进行处理(输出错误信息)。请将下面程序的【代码】替换为Java代码,使程序运行正确。
文件Main.java

public class Main {
public static void main(String[] args) {
【代码1】{
int i = 0;
i = 3 / i;// 将产生算术运算异常。
} catch (ArithmeticException e)// 找到了匹配的异常,执行该catch块。
{
System.out.println(“发生了ArithmeticException异常”);
} 【代码2】 (ArrayIndexOutOfBoundsException e)// 不是匹配的异常,则不会再捕获
// 异常,如果发生数组下标(索引)超出范围所产生的异常,将执行该catch块。
{
System.out.println(“发生了ArrayIndexOutOfBoundsException异常”);
} catch (Exception e)
// 前两个catch块均无法捕获try块中发生的异常时,才会执行该catch块。
{
System.out.println(“发生了异常”);
} 【代码3】 {
{
System.out.println(“执行Finally”);
}
}
}
}

public class Main {public static void main(String[] args) {try{int i = 0;
i = 3 / i;// 将产生算术运算异常。
} catch (ArithmeticException e)// 找到了匹配的异常,执行该catch块。
{System.out.println("发生了ArithmeticException异常");
}catch(ArrayIndexOutOfBoundsException e)// 不是匹配的异常,则不会再捕获
// 异常,如果发生数组下标(索引)超出范围所产生的异常,将执行该catch块。
{System.out.println("发生了ArrayIndexOutOfBoundsException异常");
} catch (Exception e)
// 前两个catch块均无法捕获try块中发生的异常时,才会执行该catch块。
{System.out.println("发生了异常");
}finally {{System.out.println("执行Finally");}}}
}

第65题 填写代码,算术运算异常处理(Try/Catch)例子(10分)

此题的上机步骤是:

  1. 建立一个Java项目,名称可以按题号取名;
  2. 建立一个类, 类的名称为Main。这一点非常重要;
  3. 填代码;
  4. 提交代码,注意题号要一致。

有如下程序,是异常处理(Try/Catch)的例子,完成的功能为捕获异常,并进行处理(输出错误信息)。请将下面程序的【代码】替换为Java代码,使程序运行正确。

文件Main.java
import java.util.*;
public class Main {
public static void main(String[] args) {
// 键盘输入数n作为分母,做除法
Scanner in = new Scanner(System.in);
int y = 0;
int n = 0;
【代码1】 {
n = in.nextInt();
y = (3 / n);
} catch (【代码2】 e) {//输入数据不匹配
// TODO Auto-generated catch block
e.printStackTrace();//显示堆栈数据
System.out.println(“请输入整数!”);
} catch (ArithmeticException e) {
// TODO Auto-generated catch block
System.out.println(“请输入非零整数!”);
} 【代码3】 (Exception e) {
// TODO Auto-generated catch block
System.out.println(“出现了未知情况!”);
}
System.out.println(“程序正常结束!”);
}
}

import java.util.*;
public class Main {public static void main(String[] args) {// 键盘输入数n作为分母,做除法Scanner in = new Scanner(System.in);int y = 0;int n = 0;try{n = in.nextInt();y = (3 / n);} catch (InputMismatchException e) {//输入数据不匹配//  TODO Auto-generated catch blocke.printStackTrace();//显示堆栈数据System.out.println("请输入整数!");} catch (ArithmeticException e) {// TODO Auto-generated catch blockSystem.out.println("请输入非零整数!");} catch (Exception e) {// TODO Auto-generated catch blockSystem.out.println("出现了未知情况!");}System.out.println("程序正常结束!");}
}

第66题 填写代码,自定义异常处理类(继承Exception)例子(10分)

有如下程序,是自定义异常处理类(继承Exception)的例子,完成的功能为键盘输入字符串作为异常处理提示信息。请将下面程序的【代码】替换为Java代码,使程序运行正确。

文件Main.java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String st=in.nextLine();// 键盘输入字符串作为提示信息
try {
【代码1】 new MyException(st);
} catch (MyException e) {
// TODO Auto-generated catch block
System.out.println(st);
}
}
}
// 子类,继承Exception
class MyException extends 【代码2】 {
public MyException() {
super();
// TODO Auto-generated constructor stub
}
public 【代码3】(String s) {
super(s);
// TODO Auto-generated constructor stub
}
}

import java.util.Scanner;
public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);String st=in.nextLine();// 键盘输入字符串作为提示信息try {throw new MyException(st);} catch (MyException e) {// TODO Auto-generated catch blockSystem.out.println(st);}}
}
// 子类,继承Exception
class MyException extends Exception{public MyException() {super();// TODO Auto-generated constructor stub}public MyException(String s) {super(s);// TODO Auto-generated constructor stub}
}

第67题 填写代码,ArrayList类的方法(10分)

以下程序是有关ArrayList类的方法的例子,请将下面程序的【代码】替换为Java程序代码,使程序运行正确。
文件Main.java

import java.util.*;
public class Main {
public static void main(String[] args) {
Show aShow =new Show();//显示元素
ArrayList【代码1】 list1=new ArrayList();
【代码2】.ensureCapacity(200);
Scanner scanner=new Scanner(System.in);
list1.add(“abc”);
list1.add(“123”);
int i=scanner.nextInt();
list1.【代码3】(Integer.toString(i));//转换为字符串再加入
aShow.showList(list1);
Object[] ob=list1.【代码4】();//转换为字符串
String st1=(String)ob[0];//取出下标为0的元素
System.out.println(“下标为0的元素为:”+st1);
String st2=list1.【代码5】(2);//取出下标为2的元素
System.out.println(“下标为2的元素为:”+st2);
list1.【代码6】;//删除下标为1的元素
aShow.showList(list1);
ArrayList arrayList1 = new ArrayList();
arrayList1.add(0, “The” );
arrayList1.add( 1, “fox” );
arrayList1.add( 1, “jumps” );
arrayList1.【代码7】(1,list1);//将list1加入arrayList1
aShow.showList(arrayList1);
}
}
//显示元素的类
class Show{
public void showList(ArrayList s) {
Iterator iter=s.iterator();
while(iter.hasNext()){
String st=iter.next();
System.out.print(st+" ");
}
System.out.println();
}
}

输入:
n个数
输出:
按程序运行结果

样例输入:
66
样例输出:
abc 123 66
下标为0的元素为:abc
下标为2的元素为:66
abc 66
The abc 66 jumps fox

import java.util.*;
public class Main {public static void main(String[] args) {Show aShow =new Show();//显示元素
ArrayList<String> list1=new ArrayList<String>();
list1.ensureCapacity(200);
Scanner scanner=new Scanner(System.in);
list1.add("abc");
list1.add("123");
int i=scanner.nextInt();
list1.add(Integer.toString(i));//转换为字符串再加入
aShow.showList(list1);
Object[] ob=list1.toArray();//转换为字符串
String st1=(String)ob[0];//取出下标为0的元素
System.out.println("下标为0的元素为:"+st1);
String st2=list1.get(2);//取出下标为2的元素
System.out.println("下标为2的元素为:"+st2);
list1.remove(1);//删除下标为1的元素
aShow.showList(list1);
ArrayList<String> arrayList1 = new ArrayList();
arrayList1.add(0, "The" );
arrayList1.add( 1, "fox" );
arrayList1.add( 1, "jumps" );
arrayList1.addAll(1,list1);//将list1加入arrayList1
aShow.showList(arrayList1);
}
}
//显示元素的类
class Show{public void showList(ArrayList<String> s) {Iterator<String> iter=s.iterator();
while(iter.hasNext()){String st=iter.next();
System.out.print(st+"  ");
}
System.out.println();
}
}

第68题 填写代码,使用ArrayList类进行排序(10分)

以下程序是使用ArrayList类对键盘输入的整数数组进行排序,请将下面程序的【代码】替换为Java程序代码,使程序运行正确。
文件Main.java

import java.util.*;
public class Main {
public static void main(String[] args) {
Show aShow =new Show();//显示元素
ArrayList<【代码1】> list1=new ArrayList();
Scanner in=new Scanner(System.in);
int n=in.nextInt();
list1.ensureCapacity(n);
while(n–【代码2】0){//输入n个数
int k=in.nextInt();
list1.add(k);//加入元素
}
【代码3】.sort(list1);//排序
aShow.showList(list1);
}
}
//显示元素的类
class Show{
public void showList(ArrayList list1) {
Iterator<【代码4】> iter=list1.iterator();
while(iter.hasNext()){
int st=iter.next();
System.out.print(st+" ");
}
System.out.println();
}
}

import java.util.*;public class Main {public static void main(String[] args) {Show aShow = new Show();// 显示元素ArrayList<Integer> list1 = new ArrayList<Integer>();Scanner in = new Scanner(System.in);int n = in.nextInt();list1.ensureCapacity(n);while (n-- != 0) {// 输入n个数int k = in.nextInt();list1.add(k);// 加入元素}Collections.sort(list1);// 排序aShow.showList(list1);}
}// 显示元素的类
class Show {public void showList(ArrayList<Integer> list1) {Iterator<Integer> iter = list1.iterator();while (iter.hasNext()) {int st = iter.next();System.out.print(st + "  ");}System.out.println();}
}

第69题 编写部分代码. 求散列码之和(arraylist).(10分)

下面程序通过arraylist存储数据,然后运用object中的方法计算散列码之和,但类HashCodeSum中部分代码缺失.请编写程序代码,使程序运行正确。
此题的上机步骤是:

  1. 建立一个Java项目,名称可以按题号取名;
  2. 建立一个类, 类的名称为Main。这一点非常重要;
  3. 将题中代码复制到Main.java中;
  4. 按要求编写代码,请注意已经有的代码不能修改,特别是class Main类中的代码不能修改;
  5. 提交代码,注意题号要一致。

文件Main.java

import java.util.;
public class Main {
public static void main(String[] args) {
Scanner reader=new Scanner(System.in);
int n=reader.nextInt();
ArrayList a=new ArrayList();
for(int i=0;i<n;i++)
a.add(reader.nextInt());
HashCodeSum x=new HashCodeSum();
System.out.println(x.sum(a));//显示结果
System.out.println(“The Main class is end.”);
}
}
class HashCodeSum{
int sum(ArrayList a){
int sum=0;
/
-----请编写代码-----*/

/-----编写的代码结束-----/
return (sum);
}
}

输入:
n
n个数
输出:
n个数之和
The Main class is end.

样例输入:
3
1 3 4
样例输出:
8
The Main class is end.

import java.util.*;public class Main {public static void main(String[] args) {Scanner reader=new Scanner(System.in);int n=reader.nextInt();ArrayList<Integer> a=new ArrayList<Integer>();for(int i=0;i<n;i++)a.add(reader.nextInt());HashCodeSum x=new HashCodeSum();System.out.println(x.sum(a));//显示结果System.out.println("The Main class is end.");}}class HashCodeSum{int sum(ArrayList<Integer> a){int sum=0;/*-----请编写代码-----*/
for(int i = 0;i < a.size();i++)
{sum+=a.get(i);
}/*-----编写的代码结束-----*/return (sum);}}

第70题 填写代码,功能是通过线程输出字符串(10分)

有如下程序,是线程的例子,完成的功能为输出字符串。请将下面程序的【代码】替换为Java代码,使程序运行正确。
文件Main.java

import java.util.*;
public class Main extends 【代码1】 {
static String s;
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
s = scanner.nextLine();
【代码2】 t = new Main();
t.start();
}
public void 【代码3】() {
System.out.println(s);
}
}

样本输入:
How are you
样本输出:
How are you

import java.util.*;
public class Main extends Thread {static String s;
public static void main(String[] args) {Scanner scanner = new Scanner(System.in);
s = scanner.nextLine();
Main t = new Main();
t.start();
}
public void run() {System.out.println(s);}
}

第71题 填写代码,功能是实现Runnable并输出字符串(10分)

此题的上机步骤是:

  1. 建立一个Java项目,名称可以按题号取名;
  2. 建立一个类, 类的名称为Main。这一点非常重要;
  3. 填代码;
  4. 提交代码,注意题号要一致。

有如下程序,是线程的例子,完成的功能为输出字符串。请将下面程序的【代码】替换为Java代码,使程序运行正确。
文件Main.java

import java.util.*;
public class Main 【代码1】 Runnable{
static String s;
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
s = scanner.nextLine();
【代码2】 t=new Thread(new 【代码3】);
t.【代码4】;
}
@Override
public void run() {
// TODO Auto-generated method stub
System.out.println(s);
}
}

样本输入:
Hello!
样本输出:
Hello!

import java.util.*;
public class Main implements Runnable{static String s;
public static void main(String[] args) {Scanner scanner = new Scanner(System.in);
s = scanner.nextLine();
Thread t=new Thread(new Main());
t.start();
}
@Override
public void run() {// TODO Auto-generated method stub
System.out.println(s);}
}

第72题

第72题 删除字符串中多余空格(10分)
时间限制:1 秒 内存限制:32 兆
题目描述:
输入一个由若干单词组成的字符串(长度小于等于2000),然后删除字符串的首尾空格,如果串中有多于一个以上空格,则只保留一个空格。
输入:
测试数据有多组,每组输入一个字符串。
输出:
对于每组输入,删除字符串中多余空格,然后输出。

样例输入:
3
word many word
abcd xyz
xyz
样例输出:
word many word
abcd xyz
xyz

import java.util.*;
import java.io.*;
import java.lang.*;
import java.math.*;
public class Main {public static void main(String[] args) {Scanner in = new Scanner(new BufferedInputStream(System.in));int t=in.nextInt();in.nextLine();while(t-->0){String s[] = new String[2005];String ss=in.nextLine();int i=0,cnt=0;while(i<ss.length()){if(ss.charAt(i)!=' '){s[++cnt]="";while(i<ss.length()&&ss.charAt(i)!=' '){s[cnt]+=ss.charAt(i);i++;}}i++;}for(int k=1;k<=cnt;k++){System.out.print(s[k]);if(k!=cnt) System.out.print(" ");}System.out.println("");}}
}

第73题

第73题 字符串中单词首字母大写(10分)
时间限制:1 秒 内存限制:32 兆
题目描述:
输入一个由若干单词组成的字符串(长度小于等于2000),字符串的首尾没有空格,串中单词之间只有一个空格。
请将字符串中单词的首字母转换为大写,如果本身是大写,不要转换。
输入:
测试数据有多组,每组输入一个字符串。
输出:
对于每组输入,删除字符串中多余空格,然后输出。

样例输入:
3
Have Many words
abcd 123 Xyz
xyZ
样例输出:
Have Many Words
Abcd 123 Xyz
XyZ

import java.util.*;
import java.io.*;
import java.lang.*;
import java.math.*;
public class Main {public static void main(String[] args) {Scanner in = new Scanner(new BufferedInputStream(System.in));int t=in.nextInt();in.nextLine();while(t-->0){String s[] = new String[2005];String ss=in.nextLine();int i=0,cnt=0;while(i<ss.length()){if(ss.charAt(i)!=' '){s[++cnt]="";while(i<ss.length()&&ss.charAt(i)!=' '){s[cnt]+=ss.charAt(i);i++;}}i++;}for(int k=1;k<=cnt;k++){if('a'<=s[k].charAt(0)&&s[k].charAt(0)<='z') System.out.print((char)(s[k].charAt(0)-32));else System.out.print(s[k].charAt(0));for(int j=1;j<s[k].length();j++) System.out.print(s[k].charAt(j));if(k!=cnt) System.out.print(" ");}System.out.println("");}}
}

第76题

第76题 编程:求Excel表中矩形数量(10分)
小明经常使用Excel表,有一天大脑冒出一个想法:一个Excel表区域中有多少个矩形?例如下图中的深灰色区域:

这个图在Excel表的区域是左上角为B3,右下角为D4。这个图中包含有18个矩形。
如果小明告诉你Excel表区域的左上角和右下角,请你帮他计算这个区域中矩形的数量。

输入格式
题目包含多组输入,输入包括两个坐标(左上角,右下角)。
输出格式
矩形的个数

样例输入
B3 D4
样例输出
18

数据规模与约定
A <= 第1个坐标 <= Z
1 <= 第2个坐标 <= 30

import java.util.*;
public class Main {public static void main(String[] args) {// TODO Auto-generated method stubScanner cin = new Scanner(System.in);while(cin.hasNext()){String a= cin.next();String b=cin.next();char []s=a.toCharArray();char []t=b.toCharArray();int lens=s.length;int lent=t.length;char chs,cht;int ss,tt;int i=0,tmp=0;while(s[i]==' ') i++;chs=s[i];i++;tmp=0;while(i<lens){tmp=tmp*10+s[i]-'0';i++;}ss=tmp;i=0;while(t[i]==' ') i++;cht=t[i];i++;tmp=0;while(i<lent){tmp=tmp*10+t[i]-'0';i++;}tt=tmp;int n=cht-chs+1;int m=tt-ss+1;System.out.println(n*(n+1)*m*(m+1)/4);}}
}

第78题

第78题 编写程序:XXX定理(偶数和奇数分别进行变换)(10分)
对于一个数n,如果是偶数,就把n砍掉一半;如果是奇数,把n变成 3*n+ 1后砍掉一半,直到该数变为1为止。
请计算需要经过几步才能将n变到1,具体可见样例。
输入:
测试包含多个用例,每个用例包含一个整数n,当n为0 时表示输入结束。(1<=n<=10000)
输出:
对于每组测试用例请输出一个数,表示需要经过的步数,每组输出占一行。
样例输入:

3
1
0

样例输出:

5
0

import java.util.Scanner;
public class Main {public Main() {}public static void main(String[] args) {int n;do{Scanner myscan = new Scanner(System.in);n = myscan.nextInt();int x = 0;if (n > 0 && n <= 1000) {for(; n != 1 && n != 0; ++x) {if (n % 2 == 0) {n /= 2;} else {n = (3 * n + 1) / 2;}}}if(n==0) System.exit(0);else System.out.println(x);}while(n!=0);}
}

编译通过,结构不对,但自己输样例是对的,没辙

第81题

只能cc代码维持生活那样子
第81题 编写程序:矩阵乘法 (10分)
  给定一个N阶矩阵A,输出A的M次幂(M是非负整数)
  例如:
  A =
  1 2
  3 4
  A的2次幂
  7 10
  15 22
输入格式
  第一行是一个正整数N、M(1<=N<=30, 0<=M<=5),表示矩阵A的阶数和要求的幂数
  接下来N行,每行N个绝对值不超过10的非负整数,描述矩阵A的值
输出格式
  输出共N行,每行N个整数,表示A的M次幂所对应的矩阵。相邻的数之间用一个空格隔开
样例输入
2 2
1 2
3 4
样例输出
7 10
15 22

import java.util.*;public class Main {public static void main(String[] args) {// TODO Auto-generated method stubScanner sc = new Scanner(System.in);int n = sc.nextInt();int m = sc.nextInt();int[][] arr = new int[n][n];for (int i = 0; i < n; i++) {for (int j = 0; j < n; j++) {arr[i][j] = sc.nextInt();}}if (m == 0) {for (int i = 0; i < n; i++) {for (int j = 0; j < n; j++) {if (i == j)System.out.print(1 + " ");elseSystem.out.print(0 + " ");}System.out.println();}System.exit(0);}int[][] arr1 = arr;for (int i = 1; i < m; i++) {arr1 = multiply(arr, arr1);}for (int i = 0; i < n; i++) {for (int j = 0; j < n; j++) {System.out.print(arr1[i][j] + " ");}System.out.println();}}private static int[][] multiply(int[][] a, int[][] b) {int len = a.length;int[][] res = new int[len][len];for (int i = 0; i < len; i++) {for (int j = 0; j < len; j++) {for (int k = 0; k < len; k++) {res[i][j] += a[i][k] * b[k][j];}}}return res;}
}

第82题

蓝桥杯的一道题参考博客
第82题 编写程序:矩阵面积交(10分)
  平面上有两个矩形,它们的边平行于直角坐标系的X轴或Y轴。对于每个矩形,我们给出它的一对相对顶点的坐标,请你编程算出两个矩形的交的面积。
输入格式
  输入仅包含两行,每行描述一个矩形。
  在每行中,给出矩形的一对相对顶点的坐标,每个点的坐标都用两个绝对值不超过10^7的实数表示。
输出格式
  输出仅包含一个实数,为交的面积,保留到小数后两位。
样例输入
1 1 3 3
2 2 4 4
样例输出
1.00

import java.util.Scanner;public class Main {public static void main(String[] args) {double[] r1 = new double[4];double[] r2 = new double[4];Scanner sc  = new Scanner(System.in);for (int i = 0; i < r1.length; i++) {r1[i] = sc.nextDouble();}for (int i = 0; i < r2.length; i++) {r2[i] = sc.nextDouble();}double X,Y;//求相交的长:Xdouble min_x = Math.min(Math.max(r1[0], r1[2]), Math.max(r2[0], r2[2]));double max_x = Math.max(Math.min(r1[0], r1[2]), Math.min(r2[0], r2[2]));X = min_x - max_x;//求相交的宽:Ydouble min_y = Math.min(Math.max(r1[1], r1[3]), Math.max(r2[1], r2[3]));double max_y = Math.max(Math.min(r1[1], r1[3]), Math.min(r2[1], r2[3]));Y = min_y - max_y;//X,Y若有一个为非正数,则不相交if(X>0&&Y>0) {System.out.println(String.format("%.2f", X*Y));}else {System.out.println("0.00");}}}

部分代码来源于QuincyTan大佬的博客

湘潭大学java实验相关推荐

  1. java实验报告二_Java实验报告(实验二)

    (1)伪代码  (2)产品代码  (3)测试代码 a.首先在虚拟机中建立一个以自己学号命名的文件夹,以存放自己实验中的代码.运行结果以及截图 2.按照实验说明里的要求,将代码输入,并运行出结果: 做以 ...

  2. java 实验4 异常

    java 实验4 异常 参考文章: (1)java 实验4 异常 (2)https://www.cnblogs.com/cc123nice/p/10663139.html 备忘一下.

  3. java浏览器实验报告_关于java实验报告模板

    关于java实验报告模板 1.掌握Java Applet的程序结构和开发过程. 2.学会编写Applet对应的HTML文件,掌握从HTML文件向Applet传递参数的方法. 3. 掌握文本框对象的使用 ...

  4. 20135331 文艺 java实验

    实验楼第一次实验报告 北京电子科技学院(BESTI) 实     验    报     告 课程:Java实验    班级:1353    姓名:文艺   学号:20135331 成绩:        ...

  5. java实验报告 05 类与_java程序设计类与方法-java实验报告

    java程序设计类与方法-java实验报告 java程序设计类与方法-java实验报告 1. 实验内容或题目 (1) 编写Java应用程序,实现以下功能:当应用程序运行后,根据屏幕提示进行交互式输入并 ...

  6. java 实验报告模板_Java实验报告模板.doc.doc

    Java实验报告模板.doc 实 验 报 告 课程名称Java面向对象程序设计实验名称检查危险品姓名吴超益学号201424134114专业年级14物联网一.实验目的: 本实验的目的是让学生掌握try- ...

  7. 20165310 Java实验五《网络编程与安全》

    20165310 Java实验五<网络编程与安全> 任务一 题目:①编写MyBC.java实现中缀表达式转后缀表达式的功能:②编写MyDC.java实现从上面功能中获取的表达式中实现后缀表 ...

  8. 20175212童皓桢 Java实验二-面向对象程序设计实验报告

    20175212童皓桢 Java实验二-面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设 ...

  9. Java实验实现一个circle类,java实验报告-类的定义.doc

    java实验报告-类的定义 南京理工大学泰州科技学院 实验报告书 课程名称: <JAVA面向对象程序设计> 实验题目: 实验三 类的定义 班 级: 09计算机(2) 学 号: 090903 ...

最新文章

  1. Relation Networks for Object Detection
  2. “Hello,Jetpack”:构建您的第一个Jetpack应用程序
  3. 企业数据中心夏季冷却散热的十二大技巧
  4. Spark RDD使用详解5--Action算子
  5. 201904快速阅读术
  6. [005] .NET 的执行模型
  7. WPF 用装饰器制作抽屉效果
  8. 最小/大加代数(Min/max-Plus Algebra)
  9. vs2015软件系统开源_2015年开源亮点的多样性
  10. java的text函数,excel text函数以及相关的函数使用方法
  11. 使用内存映射提高BufferedRandoAccessFile性能(测试可用)
  12. 前端html静态页面化妆品电商购物网站.rar(含html源码)
  13. Hibernate(一)
  14. linux教程第五版课后答案第六章,linux基础及应用第六章练习题
  15. linux如何查看无线密码是多少个,在 Linux 中查看连接过的 WiFi 密码
  16. UNCTF2022-公开赛|MISC(下)
  17. Free SQL Server tools that might make your life a little easier
  18. Mac如何配置QQ企业邮箱
  19. 【数据结构】堆的全解析
  20. python软件和rost软件哪个更好_Python几种并发实现方案的性能比较

热门文章

  1. Halcon学习笔记:3D_coordinates(3D标定)
  2. 数据防泄密工作企业该如何开展
  3. 【AIOT】2-2 物联网案例分享
  4. 微信老外产品经理:《中国移动应用设计趋势》
  5. NFT交易平台2.0来了,源代码,智能合约整套
  6. 万字长文:功能安全量产落地的三座大山
  7. 增加PRODUCT_BOOT_JARS及类 提供jar包给应用
  8. 使用VS+VisualGDB编译Linux版本RCF
  9. 记录:Flink checkpoint 过期导致失败(线上问题)
  10. 全场景智联,智慧护家,海雀智能门铃如何与众不同