输入一批整数,输入其中的最大值和最小值,输入数字0时结束循环

MyEcilpse快捷键

Ctrl+Shift+B:在当前行设置断点或取消设置的断点。
F11:调试最后一次执行的程序。
Ctrl+F11:运行最后一次执行的程序。
F5:跟踪到方法中,当程序执行到某方法时,可以跟踪到方法中。
F6:单步执行程序。
F7:执行完方法,返回到调用此方法的后一条语句。
F8:继续执行,到下一个断点或程序结束。

题目

需要实现的结果展现
在这里插入图片描述

思路

做这道题之前首先要考虑使用什么方法,在上图可以看到这题里存在几个关键字:

  1. 输入:首先想到Scanner类
  2. 整数:基本数据类型int
  3. 当为0结束:这是一个循环体(循环结构:whlie for)
  4. 最大值:循环语句里几个数值中比较得出最大的值
  5. 最小值:循环语句里几个数值中比较得出最大小的值
由上面的信息得出代码
import java.util.Scanner;
public class ZuiDaZhi {
	public static void main(String[] args) {
		int mix,small,shuru;
		System.out.print("请输入一个整数(输入0结束):");
		Scanner scanner = new Scanner(System.in);
			shuru = scanner.nextInt(); 
			mix = shuru;
			small = shuru;
		do{
			System.out.print("请输入一个整数(输入0结束):");
			 shuru = scanner.nextInt();
			 if(shuru>mix){
				 mix = shuru;
			 }else if(shuru<small&&shuru!=0){
				 small = shuru;
			 }
			}while(shuru!=0);
			System.out.print("最大值是:"+mix+" 最小值是:"+small);
		}

}

说明:循环结构有两种(while和for),这里为什么选择使用whlie而不是for语句,因为通过学习for语句和while语句不难发现,for语句和whlie语句有个很明显的区别,那就是for循环只能表示已知循环次数的语句,而while循环则可以表示未知循环次数的语句。在这道题里如果我用while语句可以循环输出任意个不是0的整数,而for语句仅能输出我指定循环次数不是0的整数。

遗留问题

  1. 能否通过其它方法实现当前问题
  2. 能否给输出的整数定个范围(仅能输入偶数或仅能输入奇数)
  3. 可不可以输出,循环输入所有整数数字之和的差,异或
    输出循环输入所有数字之和(浮点类)的商

欢迎大家讨论补充并指导以上不足的地方

发布了11 篇原创文章 · 获赞 7 · 访问量 1260

猜你喜欢

转载自blog.csdn.net/justwanfeng/article/details/103209155