第二章习题总结

Demo 01

解答:

题中数据类型为double型 且题中给出提示小数问题

输入语句应注意 需要引用一个新的类Scanner(将在总结最后细做分析)

数据: 摄氏温度 华氏温度     指令:输入  按照公式计算  输出

解题步骤:

  1. 提示用户输入摄氏温度
  2. 利用已知公式将摄氏温度转换成华氏温度
  3. 将摄氏温度和华氏温度输出
    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)

指令:输入数据 (半径、高)  按照公式计算   输出数据(面积、体积)

解题步骤:

  1. 提示用户输入半径和高
  2. 按照公式使用输入的数据计算出底面积和体积
  3. 输出底面积和体积
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

解答:

数据类型为整数型 题中给出解题思路即取余数求得个位上数字,再整除去掉个位数字以此类推,计算出各个数位上的数字

相加即可

数据:输入一个数字 个位 十位 百位 

指令:取余 自除过滤数字

步骤:

  1. 提示用户输入一个数字(三位数之内)
  2. 分解数字 统一按照三位数的长度分解

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月;利息 最后账户值

指令:输入数据  计算每月本息和  输出第六个月本息和

步骤:

  1. 计算第一个月的本息和
  2. 计算第二个月的本息和
  3. 直到计算出第六个月的本息和
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

解答:

数据: 两个坐标点   距离、

指令:带入公式中计算

步骤:

  1. 提示用户输入两个坐标点;
  2. 利用公式计算出两点间的距离
  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();
      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

解答:

数据: 输入的三个点   面积

指令:带入公式计算

步骤:

  1. 提示用户输入三个点的坐标
  2. 求出三角形三条边
  3. 利用公式计算出三角形的面积
  4. 输出结果
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();

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值