2024年java输入输出基础题

java输入输出基础题能解决题目的代码并不是一次就可以写好的 我们需要根据我们的思路写出后通过 debug 模式找到不足 再进行更改多次测试后才可得到能解决题目的代码 通过学习 练习 Java 基础经典练习题 让我们一起来培养这种解决问题思路 一 视频讲解 二 思路分析 java 输入输出基础题 Q1 如何从键盘输入 3 个整数 A1 键盘输入需使用 Scanner 语句 使用 Scanner 语句需以下 4 步骤

大家好,我是讯享网,很高兴认识大家。



我们需要根据我们的思路写出后通过debug模式找到不足

再进行更改多次测试后才可得到能解决题目的代码!

通过学习,练习【Java基础经典练习题】,让我们一起来培养这种解决问题思路。

一、视频讲解

二、思路分析

java输入输出基础题Q1:如何从键盘输入3个整数?

A1: 键盘输入需使用Scanner语句,使用Scanner语句需以下4步骤

  1. 导包(可以在第二步创建后按住“Ctrl+shift+O”来自动导包) import java.util.Scanner;
  2. 创建 Scanner sc = new Scanner (System.in); (sc是对象的名字,只要符合命名规则可更换)
  3. 使用(这里介绍的是最简单是使用方法) (1) 获取键盘输入的int型数字 int num = sc.nextInt(); (2) 特殊: 获取键盘输入的字符串 String str = sc.next();
  4. 使用完毕,关闭键盘输入 sc.close();(即对象名.close())

Q2:只输出最大数或最小数,我可以搞定。但是如何将这三个数由小到大都输出呢?

A2:这个问题的回答就是解题的核心啦!

  1. 因为本题要求是从小到大输出3这个数,我们先将我们从键盘输入的数用3个变量x、y、z来保存。
  2. 所以我们的基本思路就是:让3个数经过一系列变化后

    x:存放3数中最小的那个数

    y:存放三数中处在中间位置的数

    z:存放3数中最大的数

  3. 接下来我们就来讲讲3个数怎样经过一系列变化达到我们的目的,

    以x=45、y=27、z=15为例:

  • 我们先让x与y比较:

    若x>y,就让x和y交换位置(一定要记得我们的终极目的:3个数中的小数存放在x中)

    此次x=45、y=27所以我们使其交换位置

    x=45、y=27、z=15 → x=27、y=45、z=15

  • 继续x与z进行比较:

    若x>z,就让x和z交换位置(一定要记得我们的终极目的:3个数中的小数存放在x中)

    此次x=27、z=15所以我们使其交换位置

    x=27、y=45、z=15 → x=15、y=45、z=27

  • 继续y与z进行比较:

    若y>z,就让y和z交换位置(一定要记得我们的终极目的:3个数中的小数存放在x中)

    此次y=45、z=27所以我们使其交换位置

    x=15、y=45、z=27 → x=15、y=27、z=45

    经过3次比较,最终这3个数的顺序就是由小到大的了。

总结:

让x与y比较,若x>y,就让x和y交换位置

让x与z比较,若x>z,就让x和z交换位置 

让y与z比较,若y>z,就让y和z交换位置

三、代码+详解+结果

代码:

package Exercise;

import java.util.Scanner;

public class ThreeNumberSort {
//    题目:输入3个整数,并将其由小到大输出
   public static void main(String[] args) {
       int temp=0;
       Scanner sc = new Scanner(System.in); //使用Scanner键盘输入
       System.out.println("请输入3个整数");
       int x = sc.nextInt();   //将键盘输入的第一个数保存在int型x变量中
       int y = sc.nextInt();  //将键盘输入的第二个数保存在int型y变量中
       int z = sc.nextInt(); //将键盘输入的第三个数保存在int型z变量中
       sc.close();            //使用完键盘输入后关闭
       if(x>y) {               //如果x>y那么x,y需要交换位置
           temp=x;          //借助temp变量,将二者间的大数x存在temp中
           x=y;                //让小数y到x的位置
           y=temp;     //让大数x(即此时的temp)到y的位置,这时x y中的数就是从小到大的顺序
       }

if(x>z) {             //如果x>z那么x,z需要交换位置
           temp=x;  //借助temp变量,将二者间的大数x存在temp中
           x=z;         //让小数z到x的位置
           z=temp;    //让大数x(即此时的temp)到z的位置,这时x z中的数就是从小到大的顺序
       }

if(y>z) {                //如果y>z那么y,z需要交换位置
           temp=y;    //借助temp变量,将二者间的大数y存在temp中
           y=z;         //让小数z到y的位置
           z=temp;  //让大数y(即此时的temp)到z的位置,这时y z中的数就是从小到大的顺序
       }
       System.out.println(x+" "+y+" "+z);     // 输出由小到大排序后的xyz三数
   }

}

详解:

以x:6 y:48 z:-2为例

1.x=6,y=48 不满足第一个if语句条件if(x>y)

  • 所以不执行第一个if语句,继续向下执行。
  • 此时x,y,z的值为:6 48 -2

2.x=6,z=-2满足第二个if语句条件if(x>z) 所以执行if语句中的代码块:

if(x>z) {             //如果x>z那么x,z需要交换位置
           temp=x;  //借助temp变量,将二者间的大数x存在temp中
           x=z;         //让小数z到x的位置
           z=temp;    //让大数x(即此时的temp)到z的位置,这时x z中的数就是从小到大的顺序

       }

  • 此时temp=6; x=-2 z=6 执行完这个if语句后x,y,z的值为:-2 48 6

3.继续下一个if语句判断,

这时y=48,z=6 满足第三个if语句条件if(y>z),所以执行if语句中的代码块:

if(y>z) {                //如果y>z那么y,z需要交换位置
           temp=y;    //借助temp变量,将二者间的大数y存在temp中
           y=z;         //让小数z到y的位置
           z=temp;  //让大数y(即此时的temp)到z的位置,这时y z中的数就是从小到大的顺序
       }

  • 此时temp=48; y=6 z=48 执行完这个if语句后x,y,z的值为:-2 6 48

4.此时x y z的值已是从小到大的顺序,我们输出此时的x y z:-2 6 48

结果:

四、彩蛋

小讯
上一篇 2024-12-28 13:47
下一篇 2025-01-02 18:39

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/9153.html