Java上机程序答案.docx
- 文档编号:8509509
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:36
- 大小:48.44KB
Java上机程序答案.docx
《Java上机程序答案.docx》由会员分享,可在线阅读,更多相关《Java上机程序答案.docx(36页珍藏版)》请在冰豆网上搜索。
Java上机程序答案
Java程序的基本结构:
publicclassTest1//定义一个类,名称为Test1
{//类定义的开始
publicstaticvoidmain(String[]args)//定义主程序
{//主程序的开始
//程序代码部分
//程序代码部分
//程序代码部分
}//主程序的结束
}//类定义的结束
Java的基本数据类型:
int整数类型
long长整数类型
float单精度浮点数类型
double双精度浮点数类型
char字符类型
声明变量的方法:
类型名称变量名称1,变量名称2,.....;
例如:
inta,b;
longc,d,e;
floatx,y,z;
doubles,t;
charch1,ch2;
赋值语句结构:
变量名称1=变量名称2;
变量名称=数值;
变量名称=算术表达式;(关系表达式、逻辑表达式)
例如:
s=15/6;
a=3+b*2;
c=a;
d=10;
打印语句:
System.out.print(打印项);
System.out.print(打印项1+打印项2+......+打印项n);
System.out.println(打印项);
System.out.println(打印项1+打印项2+......+打印项n);
例如:
System.out.print(s);
System.out.print(“s=”+s);
System.out.println(a);
System.out.println(“a=”+a);
输入语句:
importsJava.io.*;
publicclassTa1
{
publicstaticvoidmain(Stringargs[])throwsIOException
{
InputStreamReaderread1=newInputStreamReader(System.in);
BufferedReaderinput1=newBufferedReader(read1);
Strings1;
......
s1=input1.readLine();//从键盘读取字符串给变量s1
a=Integer.parseInt(s1);//将s1转换为整数类型数值给变量a
b=Double.parseDouble(s1);//将s1转换为双精度类型数值给变量b
......
}
}
条件语句:
格式1:
if(条件关系式)
{
语句块1;
}
格式2:
if(条件关系式)
{
语句块1;
}
else
{
语句块2;
}
关系运算符:
等于==
不等于!
=
大于>
大于等于>=
小于<
小于等于<=
逻辑运算符:
非!
与&&
或||
for循环语句:
for(循环变量=初始值;循环变量<=终止值;循环变量=循环变量+步长值)
{
循环体语句;
}
for(循环变量=初始值;循环变量>=终止值;循环变量=循环变量-步长值)
{
循环体语句;
}
for(循环变量=初始值;循环变量<=终止值;循环变量=循环变量*步长值)
{
循环体语句;
}
while循环语句:
当关系表达式成立时,执行循环体中的语句,然后返回重新检验关系表达式是否成立,若不成立则不执行循环体中语句,结束循环。
while(关系表达式)
{
循环体语句块;
}
do...while循环语句:
首先执行循环体中语句块,然后检验关系表达式是否成立,若成立,则继续执行循环体中语句,否则,结束循环。
do
{
循环体语句块;
}while(关系表达式)
数组的声明方法:
数据类型数组名称[]=new数据类型[元素个数];
数据类型数组名称[]={数据集合};
例如:
doubles[]=newdouble[20];
doublet[]={12,34,56,78,98};
数组的输入模块:
inti;
for(i=0;i<20;i=i+1)
{
a[i]=Math.floor(Math.random()*(N-M+1))+M;
}
for(i=0;i<5;i=i+1)
{
s1=input1.readLine();
a[i]=Double.parseDouble(s1);
}
数组的输出模块:
for(i=0;i<20;i=i+1)
{
System.out.println(a[i]);
}
随机函数的使用:
随机函数:
Math.random()
返回[0,1.0)之间的随机数。
0<=Math.random()<1
生面某范围内随机整数:
1.产生0~1这间的随机小数x
x=Math.random();
2.产生[0,n]这间的随机整数x
x=(int)Math.floor((n+1)*Math.random());
3.产生[m,n]范围内的随机整数x
x=(int)Math.floor((n-m+1)*Math.random()+m);
练习:
1.已知一般人平均每磅体重每天需19卡路里,若已知某人的体重(单位:
千克),求此人一天需要多少卡路里?
(1磅约为0.455千克)
ClassCalories
{
Publicstaticvoidmain(Stringargs[])
{
doublebody=120;
doubleca=body*19/0.455;
System.out.println(“此人一天需:
”+ca+“卡路里”);
}
}
2.身体质量指数(BMI)是衡量身体健康与否的一种标准,一般认为身体质量指数(BMI)在20至25之间是健康的。
计算BMI的公式:
体重除以身高的平方(体重单位为千克,身高单位为米)。
根据自己的实际情况,计算出自己的BMI。
importjava.util.*;
publicclassdemo02{
publicstaticvoidmain(String[]args){
Scannerbr=newScanner(System.in);
doubleweight=br.nextDouble();
doubleheight=br.nextDouble();
doublebmi=weight/Math.pow(height,2);
System.out.println("BMI指数是:
"+bmi);
}
}
3.已知三角形边长分别为33、35、12,利用海伦公式求其面积。
海伦公式:
假设有一个三角形,边长分别为a、b、c,三角形的面积S可由以下公式求得:
S=
而公式里的p为半周长:
p=(a+b+c)/2
其中,平方根
的表示法:
Math.sqrt(x)
publicclassdemo03{
publicstaticvoidmain(String[]args){
inta=33;
intb=35;
intc=12;
intp=(a+b+c)/2;
doubles=Math.sqrt(p*(p-a)*(p-b)*(p-c));
System.out.println(s);
}
}
4.已知一个圆的半径是20cm,求该圆的周长与面积。
其中,圆周率的表示法:
Math.PI。
publicclassdemo04{
publicstaticvoidmain(String[]args){
intr=20;
doublec=2*Math.PI*r;
doubles=Math.PI*Math.pow(r,2);
System.out.println("圆周长是:
"+c+",圆面积是:
"+s);
}
}
5.当给出X的值时,求下列函数的值:
y=0(x<0)
y=x的平方根(x>=0)
publicclassdemo05{
publicstaticvoidmain(String[]args){
Scannerbr=newScanner(System.in);
doublex=br.nextDouble();
doubley=0;
if(x>=0){
y=Math.sqrt(x);
}
System.out.println(y);
}
}
6.某商场对苹果进行促销,规定购买2公斤以上可以在原价每公斤1.5元的基础上打8折,设计一个程序计算购买X公斤苹果的应付款。
importjava.util.Scanner;
publicclassdemo06{
publicstaticvoidmain(String[]args){
doubleperkgcost=1.5;
Scannerbr=newScanner(System.in);
doublekilogram=br.nextDouble();
doublepay=0;
if(kilogram>2){
pay=kilogram*perkgcost*0.8;
}else{
pay=kilogram*perkgcost;
}
System.out.println("价格是:
"+pay);
}
}
7.如果一个数能被7整除,则输出这个数,否则输出“此数不能整除7”。
importjava.util.Scanner;
publicclassdemo07{
publicstaticvoidmain(String[]args){
Scannerbr=newScanner(System.in);
intnumber=br.nextInt();
if(number%7!
=0){
System.out.println("此数不能整除7");
}else{
System.out.println(number);
}
}
}
8.火车行李托运费,行李重量在50kg以下,每千克按0.10元计,如50kg,超出部分每千克按0.20元计。
importjava.util.Scanner;
publicclassdemo08{
publicstaticvoidmain(String[]args){
Scannerbr=newScanner(System.in);
doubleweight=br.nextDouble();
doubleover=weight-50;
doublefare=0;
if(over>=0){
fare=50*0.1+over*0.2;
}else{
fare=weight*0.1;
}
System.out.println("运费是:
"+fare);
}
}
9.闰年判断:
判断条件是:
该年份能被4但不能被100整除,或能被400整除。
importjava.io.*;
publicclasse04
{
publicstaticvoidmain(Stringargs[])throwsIOException
{
InputStreamReaderreader=newInputStreamReader(System.in);
BufferedReaderinput=newBufferedReader(reader);
System.out.print("Enterthe年份:
");
Strings1=input.readLine();
intx=Integer.parseInt(s1);
if((x%4==0)&(x%100!
=0)||(x%400==0))
System.out.println(x+"是闰年");
else
System.out.println(x+"不是闰年");
}
}
10.通过键盘输入一个数,判断一个数是正数、零还是负数。
importjava.util.Scanner;
publicclassdemo10{
publicstaticvoidmain(String[]args){
Scannerbr=newScanner(System.in);
doublenumber=br.nextDouble();
if(number==0){
System.out.println("输入的是零");
}else{
if(number>0){
System.out.println("输入的是正数");
}else{
System.out.println("输入的是负数");
}
}
}
}
11.输入三个整数,输出其中最大数。
importjava.util.Scanner;
publicclassdemo11{
publicstaticvoidmain(String[]args){
Scannerbr=newScanner(System.in);
inta=br.nextInt();
intb=br.nextInt();
intc=br.nextInt();
inttemp=0;
if(a>b){
temp=a;
}else{
temp=b;
}
if(c>temp){
temp=c;
}
System.out.println("最大的数是:
"+temp);
}
}
12.求解二次方程Ax2+Bx+C=0的根,系数A,B,C由键盘输入
importjava.util.Scanner;
publicclassdemo12{
publicstaticvoidmain(String[]args){
Scannerbr=newScanner(System.in);
doublea=br.nextDouble();
doubleb=br.nextDouble();
doublec=br.nextDouble();
doublex1=0;
doublex2=0;
doublex=0;
if(a==0){//A=0
x=-c/b;
System.out.println("此方程式不是一元二次方程,其解为:
"+x);
}else{
doubledelta=Math.pow(b,2)-4*a*c;//delta=b^2-4ac
if(delta<0){//delta<0
System.out.println("此方程式无解!
");
}else{//delta>=0
x1=(-b+Math.sqrt(delta))/(2*a);
x2=(-b-Math.sqrt(delta))/(2*a);
if(x1==x2){
System.out.println("此方程式有一个解为:
"+x1);
}else{
System.out.println("此方程式有两个解为:
"+x1+"和"+x2);
}
}
}
}
}
13.显示所有100内的偶数;
publicclassdemo13{
publicstaticvoidmain(String[]args){
intnum;
System.out.println("100以内的偶数有:
");
for(num=0;num<=100;num+=2){
System.out.print(num+"");
}
}
}
14.显示所有100内的奇数;
publicclassdemo14{
publicstaticvoidmain(String[]args){
intnum;
System.out.println("100以内的奇数有:
");
for(num=1;num<=100;num+=2){
System.out.print(num+"");
}
}
}
15.显示所有200-300间的偶数;
publicclassdemo15{
publicstaticvoidmain(String[]args){
intnum;
System.out.println("200到300间的偶数有:
");
for(num=200;num<=300;num+=2){
System.out.print(num+"");
}
}
}
16.显示所有100内有能被7整除的数
publicclassdemo16{
publicstaticvoidmain(String[]args){
intnum;
System.out.println("100以内能被7整除的数有:
");
for(num=1;num<=100;num+=1){
if(num%7==0){
System.out.print(num+"");
}
}
}
}
17.显示所有既能被3整除又能被7整除的两位正整数,数值之间用“:
”隔开。
publicclassdemo17{
publicstaticvoidmain(String[]args){
intnum,tmp=0;
System.out.println("既能被3整除又能被7整除的两位正整数有:
");
for(num=1;num<100;num+=1){
if((num%7==0)&&(num%3==0)){
if(tmp==1){
System.out.print(":
"+num);
}else{
tmp=1;
System.out.print(num);
}
}
}
}
}
18.显示所有能被3整除的两位正奇数,数值之间用“-”隔开。
publicclassdemo18{
publicstaticvoidmain(String[]args){
intnum,tmp=0;
System.out.println("能被3整除的两位正奇数有:
");
for(num=11;num<=100;num+=2){
if(num%3==0){
if(tmp==1){
System.out.print("-"+num);
}else{
System.out.print(num);
tmp=1;
}
}
}
}
}
19.求
之和。
165
publicclassdemo19{
publicstaticvoidmain(String[]args){
inti,j=0;
for(i=3;i<=30;i+=3){
j+=i;
}
System.out.print(j);
}
}
20.求
之和。
1326
publicclassdemo20{
publicstaticvoidmain(String[]args){
inti,j=0;
for(i=1;i<=101;i+=4){
j+=i;
}
System.out.print(j);
}
}
21.求
之和。
110
publicclassdemo21{
publicstaticvoidmain(String[]args){
inti,j=0;
for(i=2;i<=20;i+=2){
j+=i;
}
System.out.print(j);
}
}
22.求
之和。
4.187********962
提示:
算式中每个分数的分母有规律,则用循环变量来描述分母的变化过程,但是每次累加的内容是分母所对应的整个分数。
(如:
若分数的结构是分子为1、分母为x,则分数为1/x)
publicclassdemo22{
publicstaticvoidmain(String[]args){
doublei,j=0;
for(i=2;i<=100;i++){
j+=1/i;
}
System.out.print(j);
}
}
23.求
之和。
17.354641295237272
提示:
若分子为x,则分母为x+1,则分数为:
x/(x+1)
publicclassdemo23{
publicstaticvoidmain(String[]args){
doublei,j=0;
for(i=1;i<=20;i++){
j+=i/(i+1);
}
System.out.print(j);
}
}
24.求
之和。
44200
publicclassdemo24{
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
inti,j=0;
for(i=1;i<51;i++){
j+=i*(i+1);
}
System.out.print(j);
}
}
25.求
之积。
3628800
提示:
注意累乘变量的初始值是什么值?
publicclassdemo25{
publicstaticvoidmain(String[]args){
inti,j=1;
for(i=1;i<11;i++){
j*=i;
}
System.out.print(j);
}
}
26.求
之积。
3.7158912E9
publicclassdemo26{
publicstaticvoid
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 上机 程序 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)