第7周作业2-极值计算先行版+终极版

  赶了两个晚上加一个早上,终于把这个作业修改出来了,通过网上和不断查书,一知半解还是会的,困了....

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

/**
 * 2. 极值计算。从tinyW.txt文件中读取若干数据
 * (读的程序已经写好,数据格式为 第1行:总数据个数n,第2行……n+1行:相应的数据),
 * 请编写程序,计算出数据的最大值与最小值,并输出。类名:ComputeExtreme,
 * 博文标题:第7周作业2-极值计算。
 * @author Administrator
 *
 */
public class ComputeExtreme {
	public static void main(String[] args) throws FileNotFoundException{
		int num = 0;	//声明一个整型变量num,并初始化为0
		int[] array;	//声明一个整型数组
		
		//构造一个新的 Scanner,它生成的值是从指定文件扫描的
		Scanner sc = new Scanner(new File("D:\\tinyW.txt"));
		//从文件中获得数组的大小
		if(sc.hasNextInt()){
			num = sc.nextInt();
		}
		array = new int[num];	//初始化数组大小
		
		//从文件中获取数组的值
		for(int i=0; i<num && sc.hasNextInt(); i++){
			array[i] = sc.nextInt();
		}
		sc.close();		//关闭扫描器
		
		//下面部分同学撰写,(1)输出整个数组的内容;(2)计算array数组的最大值;(3)计算最小值;(4)输出最值
		System.out.println("一共有"+num+"个整数,分别为:");
		for(int tmp:array){
			System.out.print(tmp+"  ");
		}
		int max = 0;
		for(int a : array){
		if(max<a)
		max = a;//如果输入的a值比max大,就把这个a值赋给max,如果a不必max大,那么不理这个a值,这样就保证了max总是最大值。
		
		}
		System.out.println("最大值"+max);
		int min=max;
		for(int a : array){
			if(min>a)
				min=a;
			System.out.println("最小值"+min);
		}
	}
}

这个是通过老师的程序改编而来,运用了文件调度方法,而那个最小值也不知道是怎么回事,需要每一个数都判断然后再输出,就是每一个数据都检查和输出一遍,直到找到了最小值为止,然后停留在这一个最小值的位置


那个最小值看看能不能解决一下吧

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

/**
 * 2. 极值计算。从tinyW.txt文件中读取若干数据
 * (读的程序已经写好,数据格式为 第1行:总数据个数n,第2行……n+1行:相应的数据),
 * 请编写程序,计算出数据的最大值与最小值,并输出。类名:ComputeExtreme,
 * 博文标题:第7周作业2-极值计算。
 * @author Administrator
 *
 */
public class ComputeExtreme {
	public static void main(String[] args) throws FileNotFoundException{
		int num = 0;	//声明一个整型变量num,并初始化为0
		int[] array;	//声明一个整型数组
		
		//构造一个新的 Scanner,它生成的值是从指定文件扫描的
		Scanner sc = new Scanner(new File("D:\\tinyW.txt"));
		//从文件中获得数组的大小
		if(sc.hasNextInt()){
			num = sc.nextInt();
		}
		array = new int[num];	//初始化数组大小
		
		//从文件中获取数组的值
		for(int i=0; i<num && sc.hasNextInt(); i++){
			array[i] = sc.nextInt();
		}
		sc.close();		//关闭扫描器
		
		//下面部分同学撰写,(1)输出整个数组的内容;(2)计算array数组的最大值;(3)计算最小值;(4)输出最值
		System.out.println("一共有"+num+"个整数,分别为:");
		for(int tmp:array){
			System.out.print(tmp+"  ");
		}
		int max = 0;
		for(int a : array){
		if(max<a)
		max = a;
		}
		System.out.println('\n'+"最大值"+max);
		sc.close();	
	  	int min=max;
		for(int b : array){
			if(min>b)   
				min=b;
			//if(min<max) 
			
		}System.out.println("最小值"+min);
	}
}

终于把最小最单个输出了


终于把最小值单个输出,而不是判断输出了,其实改变只是很少,只要把最小值的输出放在外面就可以单个输出了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值