Java习题二
这些题都需要用户输入一个数
Scanner 扫描仪扫描器
是一个Java自带的一个类 主要负责的就是数据输入的问题
对于内存而言 数据的输入来源有很多
1.可以是从硬盘上读取数据
2.可以是从互联网上读取数据
3.可以是从输入设备(键盘)读取数据
形式: nextByte()
nextShort()
nextInt() 常用
nextFloat()
nextDouble() 常用
应用格式(在应用前需要先声明):
import java.util.Scanner;
在函数中应用前需要先创建"类名 变量名=new 类名();"
Scanner 变量名 = new Scanner(System.in);
给变量赋值时:
变量类型 变量 =scanner.形式();
1,(求一个整数各位数的和)编写程序,读取一个在0和1000之间的整数,并将该整数的各位数字相加。例如:整数是932, 各位数字之和为14。
提示:利用操作符%分解数字,然后使用操作符/去掉分解出来的数字。例如: 932%10=2,932/10=93。
import java.util.Scanner; //声明需要用到的一个类,Scanner 扫描仪扫描器,主要负责输入
class Demo01{
public static void main(String[] args){
System.out.print("请输入一个数字:"); //提示输入一个数
Scanner scanner = new Scanner(System.in);
int number = scanner.nextInt(); //将输入的数传给整型number
int a=number%10; //得到的是个位
number/=10;
int b=number%10; //得到的是十位
number/=10;
int c=number%10; //得到的是百位
int sum=a+b+c; //将得到的数字之和赋值给整型sum
System.out.println(sum);
}
}
2,(将摄氏温度转换为华氏温度)编写程序,从控制台读入double 型的摄氏温度,然后将其转换为华氏温度,并且显示结果。转换公式如下所示:华氏温度=(9/5) *摄氏温度+32
提示:在Java中, 9/5的结果是1,但是9.0/5的结果是1.8。
import java.util.Scanner; //声明需要用到的一个类,Scanner 扫描仪扫描器,主要负责输入
class Demo02{
public static void main(String[] args){
System.out.print("请输入摄氏温度:"); //提示输入
Scanner scanner=new Scanner(System.in);
double cel=scanner.nextDouble(); //将输入的值赋给double型的cel
double fah=cel * 9 / 5 + 32; //将运算结果赋给fah
System.out.println("摄氏温度" + cel + ",是华氏温度" + fah); //输出答案
}
}
3.(计算圆柱体的体积)编写程序,读入圆柱体的半径和高,并使用下列公式计算圆柱的体积:面积=半径X半径Xp,体积=面积X高;p=3.1415926
import java.util.Scanner;
class Demo03{
public static void main(String[] args){
System.out.print("请输入半径和高:"); //提示输入
Scanner scanner = new Scanner(System.in);
double radius = scanner.nextDouble(); //将半径赋给radius
double length = scanner.nextDouble(); //将高赋给length
double area = radius * radius * 3.1415926; //带公式算出面积
double volume = area * length; //再算出体积
System.out.println("圆柱体的体积为"+volume); //输出结果
}
}
4.(财务应用程序:复利值)假设你每月向银行账户存100美元,年利率为5%,那么每月利率是0.05/12-0.00417。
第一个月之后,账户上的值就变成:
100 * (1 + 0.00417) = 100.417
第二个月之后,账户上的值就变成:
(100 + 100.417) * (1 + 0.00417) = 201.252
第三个月之后,账户上的值就变成:
(100 + 201.252) * (1 + 0.00417) = 302. 507
依此类推。
编写程序显示六个月后账户上的钱数。
class Demo04{
public static void main(String[] args){
double money=100; //初始的钱
double rate=0.05; //年利息,月利息为0.05/12
double sum=money*(1+rate/12); //第一个月的钱数
sum=(sum+money)*(1+rate/12); //第二个月的钱数
sum=(sum+money)*(1+rate/12); //第三
sum=(sum+money)*(1+rate/12); //第四
sum=(sum+money)*(1+rate/12); //第五
sum=(sum+money)*(1+rate/12); //第六
System.out.println(sum); //最终将第六个月的钱数输出
}
}
5.(几何:两点间距离)编写程序,提示用户输人两个点(x1, y1)和(x2, y2),然后显示两点间的距离。计算两点间距离的公式是根号下(x1-x2)^2+(y1-y2)^2。注意:可以使用Math.pow(a,0.5)来计算根号a。
import java.util.Scanner;
class Demo05{
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
System.out.print("请输入第一个坐标:"); //提示用户输入第一个坐标
double x1=scanner.nextDouble(); //将第一个坐标的x值赋给x1
double y1=scanner.nextDouble(); //将第一个坐标的y值赋给y2
System.out.print("请输入第二个坐标:"); //提示输入第二个坐标
double x2=scanner.nextDouble(); //将第二个坐标的x值赋给x2
double y2=scanner.nextDouble(); //将第二个坐标的y值赋给y2
double distance=Math.pow(Math.pow(x2-x1,2)+Math.pow(y2-y1,2),0.5);
//根据题目中给的公式计算,Math.pow(a,0.5),相当于a的0.5次幂
System.out.println(distance); //输出结果
}
}
6.(几何:三角形的面积)编写程序,提示用户输入三角形的三个点(x1,y1),(x2,y2)和(x3,y3),然后显示它的面积。计算三角形面积的公式是:
s=(边1+边2+边3)2
面积=根号下s(8 -边1)(s-边2)(s-边3)
import java.util.Scanner;
class Demo06{
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
System.out.print("请输入三个点的坐标:");
double x1=scanner.nextDouble();
double y1=scanner.nextDouble(); //第一个坐标的赋值
double x2=scanner.nextDouble();
double y2=scanner.nextDouble(); //第二个坐标的赋值
double x3=scanner.nextDouble();
double y3=scanner.nextDouble(); //第三个坐标的赋值
double side1=Math.pow(Math.pow(x1-x2,2)+Math.pow(y1-y2,2),0.5);
double side2=Math.pow(Math.pow(x1-x3,2)+Math.pow(y1-y3,2),0.5);
double side3=Math.pow(Math.pow(x2-x3,2)+Math.pow(y2-y3,2),0.5);
//分别算出三个边的长度,通过用数学中的两点间的距离公式
double s=(side1+side2+side3)/2; //算出s
double area=Math.pow(s*(s-side1)*(s-side2)*(s-side3),0.5); //求出面积
System.out.printf("area=%.2f\n",area); //输出结果
}
}