《面向对象程序设计(Java)》
实验报告
实验1: Java开发环境的部署和运行、Java运算符与控制结构
一、实验类型
验证性实验
二、实验目的
1、掌握jdk的安装和卸载;
2、学会配置j2sdk的运行环境;
3、熟练掌握Java小程序的运行过程
三、实验内容及步骤
一、j2sdk的安装和卸载
1、Java可以安装在多种不同的操作系统中,我们在学习过程中以windows为对象。
软硬件配置:
硬件:2G内存或者以上,50G硬盘空间或者以上软件:WindowsXP/7/8/10,或者以上2、免费的安装文件可以从Sun公司的主页上下载:Http:/Java.sun.com/
安装过程略
3、卸载JDK可以通过控制面板来实现
二、配置运行环境(假设安装目录为cAj2sdk1.8.3_01\bin)
在桌面“我的电脑”上右击,选择“属性”菜单,在高级选项卡中,配置“环境变量:
path为c:Aj2sdk1.8.3_01bin classpath为c:j2sdk1.8.3_01\bin进入DOS命令提示符状态,键入:Java、Javac回车,若出现帮助信息提示即为安装成功
第1题JDK和Eclipse的主要安装步骤
JDK和Eelipse安装成功,下图是Eelipse启动后的界面。
第2题(上机练习系统第3题 )
第3题 代码填空. 键盘输入Scanner(10分)
此题的上机步骤是:
- 建立一个Java项目,名称可以按题号取名;
- 建立一个类, 类的名称为Main。这一点非常重要;
- 填代码;
- 提交代码,注意题号要一致。
下列Java应用程序是用户从键盘输入个人信息,然后程序将个人信息输出。
请按程序实现要求,将下面程序的【代码】替换为Java程序代码。
文件Main.java
import java.util.Scanner;
public class Main {
public static void main(String args[]) {
Scanner reader=new Scanner(System.in);
System.out.println(“输入姓名(回车确认):”);
String name=【代码1】 //从键盘为name赋值
System.out.println(“输入年龄(回车确认):”);
byte age=【代码2】 //从键盘为age赋值
System.out.println(“输入身高(回车确认):”);
float height=【代码3】 //从键盘为height赋值
System.out.println(“–基本信息–”);
System.out.println(“姓名:”+name);
System.out.println(“年龄:”+age);
System.out.println(“身高:”+height);
}
解答:
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.nextLine(); //从键盘为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);
}
}
该题的运行结果界面如下:
第3题(上机练习系统第4题 )
第4题 编写程序,判断是否被3和8整除(10分)
编写程序实现,输入[100,2000]之间的整数,判断是否被3和8整除,如果能,则输出yes,否则输出no。
在输出时,你的程序必须满足要求,不能少任何内容,也不能多任何内容。如果你的内容和输出要求不一样,你的程序会被判断为错误,包括你输出了提示信息、中间调试信息、标点符号、计时或者统计的信息等。
样例1:
输入
480
输出
yes
样例2:
输入
900
输出
no
解答:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scan=new Scanner(System.in);
int a = scan.nextInt();
if (a % 3 == 0 && a % 8 == 0)
{
System.out.println("yes");
}
else
{
System.out.println("no");
}
}
}
该题的运行结果界面如下:
第4题(上机练习系统第5题 )
第5题 输入程序:从键盘输入半径经判断后求圆的面积(10分)
Time Limit : 1.0 s Memory Limit : 32 MB
请输入如下程序:
该程序是从键盘输入圆的半径r,如果输入的r>0就计算圆的面积并输出;否则输出提示信息"圆的半径要大于0!"。
程序输入后,运行该程序,从键盘输入下面的“样例”数据检验程序的正确性。
样例1
从键盘输入圆的半径r为:
0.1
输出为:
0.031400000000000004
这里的最后一位数据是计算误差。
样例2
从键盘输入圆的半径r为:
2.1
输出为:
13.8474
样例3
从键盘输入圆的半径r为:
-9.1
输出为:
圆的半径要大于0!
此题的上机步骤是:
- 建立一个Java项目,名称可以按题号取名;
- 建立一个类, 类的名称为Main。这一点非常重要;
- 输入代码;
- 提交代码,注意题号要一致。
解答:
第5题(上机练习系统第8题 )
第8题 代码填空. 求四位回文数之和(10分)
此题的上机步骤是:
- 建立一个Java项目,名称可以按题号取名;
- 建立一个类, 类的名称为Main。这一点非常重要;
- 填代码;
- 提交代码,注意题号要一致。
下面程序是求四位回文数之和。例如1221是一个回文数,它从左边读和从右边读是一样的,下面求所有这样的四位十进制数之和。
请将下面程序的【代码】替换为Java程序代码,使程序运行正确。
文件Main.java
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
int sum=【代码1】;
for (int i = 1000; i【代码2】10000; i++) {
int k=i/1000;
int m=【代码3】;
int n=(i/10)%10;
int l=i%10;
if (kl&&mn) {
sum+=【代码4】;
}
}
【代码5】.out.println(sum);
}
}
解答:
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 % 1000) / 100;
int n = (i / 10) % 10;
int l = i % 10;
if (k == l && m == n) {
sum += i;
}
}
System.out.println(sum);
}
}
第6题(上机练习系统第9题 )
第9题 C语言程序修改为Java应用程序,Fibonacci数列前n+1项的积(10分)
下面是C语言程序,请修改为Java应用程序。运行时从键盘输入数据并输出结果进行检验。
功能:用函数求Fibonacci数列前n+1项的积。
说明:Fibonacci数列为数列的第一项值为1,第二项值也
为1,从第三项开始,每一项均为其前面相邻两项
的和。
输入格式
输入包括一个整数n,代表Fibonacci数列前n+1项。
输出格式
输出一行,包括一个整数,表示Fibonacci数列前n+1项之积。
样例输入
8
样例输出
131040
此题的上机步骤是:
- 建立一个Java项目,名称可以按题号取名;
- 建立一个类, 类的名称为Main。这一点非常重要;
- 将上述代码改写为JAVA代码,并运行;
- 提交代码,注意题号要一致。
C代码如下:
#include <stdio.h>
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);
}
main()
{
long int f1=1,f2=1;
int n;
scanf(“%d”,&n);
printf(“%ld\n”,sum(n,f1,f2));
}
解答:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in=new Scanner(System.in);
int n = in.nextInt();
int i = 0;
int f1 =1;
int f2 = 1;
int f;
int k=f1+f2;
for(i=3;i<=n;i++)
{
f=f1+f2;
k=k*f;
f1=f2;
f2=f;
}
System.out.println(k);
}
}
第7题(上机练习系统第11题 )
第11题 编程:从键盘输入n后求n/2+(n+1)/2+(n+2)/2+…+n*n/2(10分)
Time Limit : 1.0 s Memory Limit : 32 MB
下面程序是求1+2+…+100的值:
请在此程序的基础上,编写程序求n/2+(n+1)/2+(n+2)/2+…+n*n/2的和值,其中整数n从键盘输入,而且除法是整除。
说明:如果n=10,就是求10/2+11/2+12/2+…+100/2. 如果n=20,就是求20/2+21/2+22/2+…+400/2.
重要说明:按题目“从键盘输入n”的要求和下面的样例要求进行其它修改。
提示:(1) 注意修改1+2+…+100程序中的sum+=cnt,本题每次加的不是cnt,而是cnt/2。
(2) 注意修改1+2+…+100程序中的cnt=1,本题从n开始,就是说初值=n。
此题的上机步骤是:
- 建立一个Java项目,名称可以按题号取名;
- 建立一个类, 类的名称为Main。这一点非常重要;
- 输入书上代码,并按上面要求修改;
- 运行程序, 从键盘输入下面的样例数据检验程序的正确性;
- 提交代码,注意题号要一致。s
样例1
从键盘输入1个整数:
10
输出为:
sum=2480
样例2
从键盘输入1个整数:
20
输出为:
sum=39910
解答:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in=new Scanner(System.in);
int sum = 0;
int cnt = in.nextInt();
int k = cnt*cnt;
for(;cnt<=k;cnt++)
{
sum+=cnt/2;
}
System.out.println(sum);
}
}
第8题(上机练习系统第15题 )
第15题 编程:从键盘输入k和n后求k*(k+1)*…*n(10分)
Time Limit : 1.0 s Memory Limit : 32 MB
下面程序是求1+2+…+100的值:
public class Main {
public static void main(String[] args) {
int product=0;
for(int cnt=1;cnt<=100;cnt++)
{
sum+=cnt;
}
System.out.println(“sum=”+sum);
}
}
请在此程序的基础上,编写程序求k*(k+1)…n的和值(n<=20),其中整数k和n从键盘输入(0<k<n)。
说明:如果k=10,n=15,就是求1011…15. 如果k=2,n=5,就是求23*…*5.
重要说明:按题目“从键盘输入n”的要求和下面的样例要求进行其它修改。
提示:(1) 注意修改1+2+…+100程序中的cnt=1,本题从k开始,就是说初值=k。
(2) 注意从键盘输入k的语句是int k=in.nextInt();
此题的上机步骤是:
- 建立一个Java项目,名称可以按题号取名;
- 建立一个类, 类的名称为Main。这一点非常重要;
- 输入代码,并按上面要求修改;
- 运行程序, 从键盘输入下面的样例数据检验程序的正确性;
- 提交代码,注意题号要一致。
输入格式
输入2个整数(k和n)。
输出格式
输出“product=”和一个整数。
样例1输入:
1
10
样例1输出:
product=3628800
样例2输入:
10
15
样例2输出:
product=3603600
解答:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in=new Scanner(System.in);
int sum =1;
int k= in.nextInt();
int n = in.nextInt();
for(;k<=n;k++)
{
sum*=k;
}
System.out.println(sum);
}
}
第9题(上机练习系统第18题 )
第18题 编程序求[200,M]上的所有闰年之和(10分)
请编程序求[200,M]中的所有闰年之和。
其中200<M<1000。
由历法可知,4年设一闰,但每100年少一个闰年,即能被4整除但不能被100整除的年份为闰年;每400年又增加一个闰年,即能被400整除的年份也为闰年。
此题的上机步骤是:
- 建立一个Java项目,名称可以按题号取名;
- 建立一个类, 类的名称为Main。这一点非常重要;
- 输入代码并运行;
- 提交代码,注意题号要一致。
输入格式
输入1个整数M。
输出格式
[200,M]中的所有闰年之和。
样例1输入:
208
样例1输出:
412
import java.util.Scanner;
public class di18ti {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scan = new Scanner(System.in);
int n = scan.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);
}
}
第10题(上机练习系统第19题 )
第19题 编程:求n个实数中的最大数(10分)
请编写程序:输入n个实数(double型),求这n个实数中的最大数,然后输出该数.
输入格式
n
n个用空格分隔开的实数。
输出格式
输出一个实数。
样例输入
4
2.9 20 8.1 9.4
样例输出
20.0
此题的上机步骤是:
- 建立一个Java项目,名称可以按题号取名;
- 建立一个类, 类的名称为Main。这一点非常重要;
- 输入代码并运行;
- 提交代码,注意题号要一致。
解答:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
double l = scan.nextDouble();
for(int i = 1;i<n;i++)
{
l = Math.max(l, scan.nextDouble());
}
System.out.println(l);
}
}
第11题(上机练习系统第21题 )
第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-bw100)/10;gw=n%10;
if(n==+(bw+sw+gw)+bwbwbw+swswsw+gwgw*gw) 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;
// TODO Auto-generated method stub
public class di21ti {
public static int fun(int n)
{
int a=n/100,b=(n-a*100)/10,c=n%10;
int sum = (a+b+c)+a*a*a+b*b*b+c*c*c;
if(n==sum)
return 1;
else
return 0;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
{
Scanner scan=new Scanner(System.in);
int n,flag;
n=scan.nextInt();
flag=fun(n);
if(flag!=0)
System.out.println("yes");
else
System.out.println("no");
}
}
}
第12题(上机练习系统第22题 )
第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;
else
return 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));
}
}
}
}
}
第13题(上机练习系统第23题 )
问题描述:
编写程序求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
此题的上机步骤是:
- 建立一个Java项目,名称可以按题号取名;
- 建立一个类, 类的名称为Main。这一点非常重要;
- 输入代码并运行;
- 提交代码,注意题号要一致。
解答:
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);
}
}
}
第14题(上机练习系统第24题 )
第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);//类内调用方法f
System.out.println(z);
double w=f1(t);
System.out.println(w);
}
//y=f(x)=x*x 整数x(叫形参)
private static int f(int x){
//========此处添加代码=========
//========添加代码结束=========
return y;
}
//y=f1(x)=x*x*x 整数x
public static double f1(double x){
return x*x*x; //返回表达式的值
}
}
注意,已经有的代码不能修改或者删除。在输出时,你的程序必须满足要求,不能少任何内容,也不能多任何内容。如果你的内容和输出要求不一样,你的程序会被判断为错误,包括你输出了提示信息、中间调试信息、标点符号、计时或者统计的信息等。
样例1:
输入
3
输出
9
27.0
解答:
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);//类内调用方法f
System.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 整数x
public static double f1(double x){
return x*x*x; //返回表达式的值
}
}
第15题(上机练习系统第25题 )
第25题 编写部分程序,求球的体积(10分)
下面编写程序实现求半径为r的球体积,已经有部分代码,将补充未完成的代码。
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);//类内调用方法f
System.out.println(z);
}
//球体积y=f(r) 实数r(叫形参)
private static double f(double r){
//========此处添加代码=========
//========添加代码结束=========
return y;
}
}
注意,已经有的代码不能修改或者删除。在输出时,你的程序必须满足要求,不能少任何内容,也不能多任何内容。如果你的内容和输出要求不一样,你的程序会被判断为错误,包括你输出了提示信息、中间调试信息、标点符号、计时或者统计的信息等。
此题的上机步骤是:
- 建立一个Java项目,名称可以按题号取名;
- 建立一个类, 类的名称为Main。这一点非常重要;
- 复制上述代码,并输入未完成的部分代码,然后运行;
- 提交代码,注意题号要一致。
样例1:
输入
2.2
输出
44.57962666666668
解答:
import java.util.*;
public class di25ti {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
double t=in.nextDouble();
double z=f(t);//类内调用方法f
System.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;
}
}
第16题(上机练习系统第26题 )
第26题 程序改错题,500以内最大的10个能被3整除的自然数之和(10分)
问题描述:
题目:计算并输出500以内最大的10个能被3整除的自然数之和
下列程序无法正确运行,请修改错误的代码,错误代码在FOUND标注的下一行,使其能得到正确结果。
请只修改错误代码,不要修改程序逻辑,否则记为0分。
注意:修改的字符个数要求最少,例如变量n增加1 ,则n++为正确答案,而n=n+1则不给分。
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);
}
}
public class Main
{
public static void di26ti(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);
}
}
第17题(上机练习系统第29题 )
第29题 编写程序输出对称平方数(10分)
题目描述:
打印所有不超过n(0<=n<256)的,其平方具有对称性质的数。
如11*11=121
输入:
无任何输入数据
输出:
输出具有题目要求的性质的数。如果输出数据不止一个,各个数据之间以回车隔开。
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
int 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]);
}
}
第18题(上机练习系统第30题 )
第30题 编写程序:递推数列(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
样例输出:
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();
}
}
第19题(上机练习系统第31题 )
第31题 编写程序求各位数字之和(10分)
题目描述:
对于给定的正整数 n,计算其十进制形式下所有位置数字之和,并计算其平方的各位数字之和。
输入:
每行输入数据包括一个正整数n(0<n<40000),如果n=0 表示输入结束,并不用计算。
输出:
对于每个输入数据,计算其各位数字之和,以及其平方值的数字之和,输出在一行中,之间用一个空格分隔,但行末不要有空格。
样例输入:
4
12
97
39999
0
样例输出:
4 7
3 9
16 22
39 36
解答:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scan=new Scanner(System.in);//创建一个键盘扫描类对象
while(scan.hasNext()) {
int n=scan.nextInt();
if(n==0)
break;
int m=n*n;int sum = 0;int sun= 0;
while(n>10)
{
sum+=(n%10);
n/=10;
}
sum+=n;
while(m>10)
{
sun+=(m%10);
m/=10;
}
sun+=m;
System.out.print(sum);
System.out.print(" ");
System.out.println(sun);
}
}
}
第20题(上机练习系统第34题 )
第34题 编程题:求n个整数的平均值(10分)
给出n个整数,找出这n个数的平均值。
将有多组数据,组数预先未知。
输入格式
每组数据第一行为整数n,表示数的个数。
每组数据第二行有n个数,为给定的n个数,每个数的绝对值都小于10000。
输出格式
每组数据输出一行,表示n个整数的平均值(有小数)
样例输入
5
1 3 -2 4 5
3
1 2 4
样例输出
2.2
2.3333333333333335
数据规模与约定
1 <= n <= 10000。
说明:有一些试题会给出多组样例输入输出以帮助你更好的做题。
在输出时,你的程序必须满足要求,不能少任何内容,也不能多任何内容。如果你的内容和输出要求不一样,你的程序会被判断为错误,包括你输出了提示信息、中间调试信息、标点符号、计时或者统计的信息等。
所有这些样例都测试通过,也不代表你的程序就是完全正确的,潜在的错误可能仍然导致你的得分较低。
此题的上机步骤是:
- 建立一个Java项目,名称可以按题号取名;
- 建立一个类, 类的名称为Main。这一点非常重要;
- 编写代码并运行;
- 提交代码,注意题号要一致。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scan=new Scanner(System.in);//创建一个键盘扫描类对象
while(scan.hasNext()) {
int n = scan.nextInt();int i;
double sum=0.0;
for(i=1;i<=n;i++) {
sum+=scan.nextInt();
}
sum/=n;
System.out.println(sum);
}
}
}