《Java程序设计》作业一.docx
《《Java程序设计》作业一.docx》由会员分享,可在线阅读,更多相关《《Java程序设计》作业一.docx(12页珍藏版)》请在冰豆网上搜索。
《Java程序设计》作业一
《Java程序设计》作业一
一、5.1
(1)题目:
(统计正数和负数的个数然后计算这些数的平均值)编写程序,读入未指定个数的整数,判断读入的正数有多少个,读入的负数有多少个,然后计算这些输入值的总和及其平均值(不对0计数)。
当输入为0时,表明程序结束。
将平均值以浮点数显示。
(2)代码
importjava.util.Scanner;
publicclasshome1{
publicstaticvoidmain(String[]args){
intnumber,count1=0,count2=0,total=0;doublea=0;
System.out.println("Enteraninteger,theinputendsifitis0:
");
Scannerinput=newScanner(System.in);
do
{
number=input.nextInt();
if(number>0)
count1++;
if(number<0)
count2++
total=total+number;
a=total/(count1+count2);
}while(number!
=0);
System.out.println("Thenumberofpositivesis:
"+count1);
System.out.println("Thenumberofnegativesis:
"+count2);
System.out.println("Thetotalis:
"+total);
System.out.println("Theaverageis:
"+a);
}
}
(3)运行结果
Enteraninteger,theinputendsifitis0:
567890
Thenumberofpositivesis:
5
Thenumberofnegativesis:
0
Thetotalis:
35
Theaverageis:
7.0
二、5-10
(1)题目:
(找出能被5和6整除的数)编写程序,显示从100到1000之间所有能被5和6整除的数,每行显示10个,数字之间用一个空格字符隔开
(2)代码
publicclasshome2{
publicstaticvoidmain(String[]args){
inti,count=0;
System.out.println("Thenumberis:
");
for(i=101;i>100&&i<1000;i++)
{
if(i%5==0&&i%6==0)
{
count++;
System.out.printl(i+"");
if(count%10==0)
System.out.println("\n");
}
}
}
}
(3)运行结果Thenumberis:
120150180210240270300330360390
420450480510540570600630660690
720750780810840870900930960990
三、5_40
(1)题目:
(模拟:
正面或反面)编写程序,模拟硬抛币一百万次,显示出现正面和反面的次数
(2)解题思路
●输入/输出设计:
输入内容:
随机产生0和1两个数
输出内容:
正面次数,反面次数
●变量/常量设计:
intcount=(int)(Math.random()*2);//随机产生0,1两位数
inti;//控制抛币次数
intpositive=0;//正面次数
intnegative=0;//反面次数
●数据处理步骤设计和方法设计:
程序处理步骤如下:
第一步:
初始化i,positive,negative的值;
第二步:
控制抛币次数,进入循环;
第三步:
随机产生0,1两个数赋给count;
第四步:
如果count=0,negative++,如果count=1,positive++
第五步:
输出positivenegative
●测试设计1分:
产生随机数0和1
(3)代码
publicclasshome3{
publicstaticvoidmain(String[]args){
inti,positive=0,negative=0;
System.out.println("Thenegativeis:
");
System.out.println("Thepositiveis:
");
for(i=1;i<=1000000;i++)
{
intcount=(int)(Math.random()*2);
if(count==0)
negative++;
if(count==1)
positive++;
}
System.out.println(negative);
System.out.println(positive);
}
}
(4)运行结果
Thenegativeis:
Thepositiveis:
500164
499836
四、6_2
(1)题目:
(求一个整数各位数字之和)编写一个方法,计算一个整数各位数字之和
(2)解题思路
●输入/输出设计:
输入内容:
输入一个数number;
输出内容:
各项数之和即输出total;
●变量/常量设计:
intk=0,total=0;//k取一个数的各位total计算各位数之和;
intnumber=input.nextInt();;//输入一个number数
●数据处理步骤设计和方法设计:
程序处理步骤如下:
第一步:
初始化k,total的值;
第二步:
提示用户输入number;
第三步:
如果number不是个位数则进入循环利用%10来取个位数并且赋给k,利用/10去掉个位数并且赋给新的number循环此操作,并且计算total;
第四步:
如果number是个位数则total=total+number;
第五步:
输出total;
●测试设计1分:
利用循环取余和除法来得到各个位数并相加
(3)代码
importjava.util.Scanner;
publicclasshome4{
publicstaticvoidmain(String[]args){
intk=0,total=0;
Scannerinput=newScanner(System.in);
System.out.println("Pleaseinputanumber:
");
intnumber=input.nextInt();
System.out.println("thetotalis:
");
while(number/10!
=0)
{
k=number%10;
number=number/10;
total=total+k;
}
total=total+number;
System.out.println(total);
}
}
(4)运行结果
Pleaseinputanumber:
456
thetotalis:
15
五、6_12
(1)题目:
编写一个打印字符的方法
(2)代码
publicclasshome5{
publicstaticvoidmain(String[]args){
intch1=(int)'1';
intch2=(int)'Z';
intcount=0;
System.out.println("Thenumberis:
");
for(inti=ch1;i>=ch1&&i<=ch2;i++)
{
System.out.print((char)i+"");
count++;
if(count%10==0)
System.out.println("\n");
}
}
}
(3)运行结果
Thenumberis:
123456789:
;<=>?
@ABCD
EFGHIJKLMN
OPQRSTUVWX
YZ
六、7_4
(1)题目:
(分析成绩)编写一个程序,读入个数不确定的考试分数,并且判断有多少个分数是大于或等于平均分,多少个分数是低于平均分的,输入一个负数表示输入结束,假设最高分为100
(2)代码
importjava.util.Scanner;
publicclasshome6{
publicstaticvoidmain(String[]args){
intnumber,count1=0,count2=0,total=0;doublea=0;
System.out.println("Enteryourscore:
");
Scannerinput=newScanner(System.in);
do
{
number=input.nextInt();
if(number<0)
break;
if(number>=a)
count1++;
if(numbercount2++;
//if(number<0)
//break;
total=total+number;
a=total/(count1+count2);
}while(number>=0&&number<=100);
System.out.println("Thenumber>=aversge"+count1);
System.out.println("ThenumberSystem.out.println("Theaverageis:
"+a);
}
}
(3)运行结果
Enteryourscore:
567845-89
Thenumber>=aversge2
ThenumberTheaverageis:
59.0
七、7_8
(1)题目:
编写两个重载的方法,使用下面两个方法头,返回一个数组的平均数
(2)代码
publicstaticintaverage(int[]array)
publicstaticdoubleaverage(double[]array)
publicclasshome7{
publicstaticvoidmain(String[]args)
{
int[]a=newint[10];
double[]d=newdouble[10];
Scannerinput=newScanner(System.in);
System.out.println("Pleaseintputtendoublenumber");
for(intx=0;x{
d[x]=input.nextDouble();
}
System.out.println("Thedoubleraverageis:
"+average(d));
}
publicstaticdoubleaverage(double[]array)
{doubled_total=0;
doubled_aver=0;
for(intx=0;x{
d_total=d_total+array[x];
d_aver=d_total/array.length;
}
returnd_aver;
}
publicstaticintaverage(int[]array)
{
inttotal=0,aver=0;
for(inti=0;i{total=total+array[i];
aver=total/array.length;
}
returnaver;
}
}
(3)运行结果
Pleaseintputtendoublenumber
1.23.43.46.73.54.03567
Thedoubleraverageis:
4.32
八、7_9
(1)题目:
(找出最小数)编写一个方法,使用下面的方法头求出一个整数数组中的最小元素
publicstaticdoublemin(double[]array)
编写测试程序,提示用户输入十个数字,调用这个方法返回最小值,显示其最小值
(2)代码
importjava.util.Scanner;
publicclasshome8{
publicstaticvoidmain(String[]args)
{
double[]d=newdouble[10];
Scannerinput=newScanner(System.in);
System.out.println("Pleaseintputtennumber");
for(intx=0;x{
d[x]=input.nextDouble();
}
System.out.println("Theminnumberis:
"+min(d));
}
publicstaticdoublemin(double[]array)
{
doublea=array[0];
for(inti=0;i{
if(array[i]a=array[i];
}
returna;
}
}
(3)运行结果:
(4)Pleaseintputtennumber
7.06.07.64567326
Theminnumberis:
2.0