Demo 01
解答:
题中数据类型为double型 且题中给出提示小数问题
输入语句应注意 需要引用一个新的类Scanner(将在总结最后细做分析)
数据: 摄氏温度 华氏温度 指令:输入 按照公式计算 输出
解题步骤:
- 提示用户输入摄氏温度
- 利用已知公式将摄氏温度转换成华氏温度
- 将摄氏温度和华氏温度输出
import java.util.Scanner class Demo01{ public static void main(String[] args){ System.out.print(" 请输入摄氏温度: " ); Scanner scanner = new.Scanner(System.in); double celsius = scanner.nextdouble(); double faherenheit = (9.0/5) * celsius + 32; System.out.println("摄氏温度" + celsius + ",是华氏温度" + faherenheit) } }
Demo 02
解答:
题中数据类型为double型 需要相应的输入语句 进而用输入的数据按照给出公式运算出需要的结果即可
数据: 半径 (radius) 高(length)底面积(area)体积(volume)圆周率(PI)
指令:输入数据 (半径、高) 按照公式计算 输出数据(面积、体积)
解题步骤:
- 提示用户输入半径和高
- 按照公式使用输入的数据计算出底面积和体积
- 输出底面积和体积
import java.util.Scanner
class Demo02{
public static void main(String [] args){
System.out.print("Enter the radius and length of a cylinder:");
Scanner scanner = new.Scanner(System.in);
double radius = scanner.nextdouble();
double lenght = scanner.nextdouble();
double area = radius * radius * P;
double volume = area * lenght;
System.out.println(" The area is " + area);
System,out,println(" The volume is " + volume);
}
}
Demo 03
解答:
数据类型为整数型 题中给出解题思路即取余数求得个位上数字,再整除去掉个位数字以此类推,计算出各个数位上的数字
相加即可
数据:输入一个数字 个位 十位 百位
指令:取余 自除过滤数字
步骤:
- 提示用户输入一个数字(三位数之内)
- 分解数字 统一按照三位数的长度分解
123%10 ~3 123/10=12 12%10~2 12/10=1 1%10=1 1/10=0
import java.util.Scanner;
class Demo06{
public static void main(String[] args){
Scanner scanner = new scanner(System.in);
System.out.print("请输入一个三位数字:");
int number = scanner.nextInt();
int a = number%10;
number/10;
int b = number%10;
number/10;
int c = number%10;
int sum = a + b + c;
}
}
Demo 04
解答:
数据: 时区 秒 分钟 小时
import java.util.Scanner;
calss Demo04{
public static void main(String[] args){
System.out.print("请输入时区:");
Scanner scanner = new Scanner(System.in);
int offset = scanner.nextInt();
long totalMillis = System.currentTimeMillis();
long totalSecond = totalMillis/100;
long totalMinutes = totalSeconds/60;
long totalHours = totalMinutes/60;
long currentHour = (totalHours+offset)%24;
long currentMinyte = totalMinutes%60;
long currentSecond = totalSeconds%60;
Sysyem.out.println(currentHour + ":" + currentMinute + ":" + currentSecond );
}
}
Demo 05
解答:
数据 : 每月本金 年利率 月利率 1~6月;利息 最后账户值
指令:输入数据 计算每月本息和 输出第六个月本息和
步骤:
- 计算第一个月的本息和
- 计算第二个月的本息和
- 直到计算出第六个月的本息和
class Demo05{
public static void main(String[] args){
double money = 100;
double rate = 0.05;
double sum=monyy*(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);
}
}
Demo 06
解答:
数据: 两个坐标点 距离、
指令:带入公式中计算
步骤:
- 提示用户输入两个坐标点;
- 利用公式计算出两点间的距离
- 输出结果
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();
System.out.print("请输入第二个坐标点:");
double x2 = scanner.nextDouble();
double y2 = scanner.nextDouble();
double distance =Math.pow( Math.pow(x2-x1)+math.pow(y2-y1),0.5);
System.out.primtln(distance);
}
}
Demo 07
解答:
数据: 输入的三个点 面积
指令:带入公式计算
步骤:
- 提示用户输入三个点的坐标
- 求出三角形三条边
- 利用公式计算出三角形的面积
- 输出结果
import java.util.Scanner;
class Demo07{
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(x2-x1,2)+Math.pow(y2-y1),2),0.5);
double side2 = Math.pow((Math.pow(x3-x1,2)+Math.pow(y3-y1),2),0.5);
double side3 = Math.pow((Math.pow(x3-x2,2)+Math.pow(y3-y2),2),0.5);
double s = (side1+side2+side3)/2;
double area = Math.pow(s*(s-side)*(s-side)*(s-side3),0.5);
System.out.println(area);
}
}
Scanner类
稍微对Scanner类做一个简单清晰的说明,大概Scanner类知道这些就够了
一、简介
Scanner类是java.util包中的一个类
二、作用
常用于控制台的输入,当需要使用控制台输入时即可调用这个类
三、使用方法
①首先需要构造一个Scanner类的对象,并且与标准输入流System.in关联
Scanner sc=new Scanner(System.in);
int i=sc.nextInt();
②调用Scanner类对象sc的方法从输入流中获取你需要的输入
说明:
当创建了一个Scanner类对象之后,控制台会一直等待输入,直到敲回车键结束,把所输入的内容传给对象sc,若要获取需要的内容,调用sc的方法即可
四、常用方法
①nextInt()只读取数值,读取完后\n没有读取并且光标放在本行
Scanner sc=new Scanner(System.in);
int i=sc.nextInt();
②next()方法遇到第一个扫描有效字符,即第一个非空格非换行符后面开始,一直获取到下一个空格,换行符之前的,单个字符串
Scanner sc=new Scanner(System.in);
int i=sc.next();
③nextLine()可以扫描到一行内容并作为一个字符串而被获取到
Scanner sc=new Scanner(System.in);
int=sc.nextLine();