课时作业2

这次的课时作业是建立在第一次要求之上的,主要要求就是如何让上一次的代码可以从文件中读取,且可以保证是一个非常大的数。(算了,我把工程目标整个贴过来)如下:

“要求数组从文件读取。 如果输入的数组很大, 并且有很多大的数字, 就会产生比较大的结果 (考虑一下数的溢出), 请保证你的程序能正常输出。 另外, 如果输入文件的参数有错误, 这个程序应该能正常退出, 并显示相应的错误信息。 任何输入错误都不能导致你的程序崩溃。”

在这里我简要的谈一谈我的心路历程,首先是这个要求读取文件中的内容,只是加载的第一步,其次是这个大数字(可以用BigInteger)来做

import java.io.FileWriter;
import java.io.IOException;
import java.math.BigInteger;
import java.util.Random;
import java.util.Scanner;

public class shuzu {//最大的括号

    public shuzu() {
        // TODO Auto-generated constructor stub
    }

    public static void main(String[] args) throws IOException {
    {//1
        int max=0;int sum=0;
        Scanner scanner=new Scanner(System.in); 
        /*System.out.println("输入数组长度");
        int n=scanner.nextInt();
        System.out.println(n);
        System.out.println("输入一个数组");(因为是从文件中读取的所以长度就不再定义了)*/
        BigInteger A[]=new BigInteger [1000000];//数值尽可能的大
        BigInteger B[]=new BigInteger [1000000];
        BigInteger C[]=new BigInteger [1000000];
        /*for(int i=0;i<n;i++)//这一步之前都是把数组输入
        {A[i]=scanner.nextInt();}从文件中读取的话,这一步也不需要了*/
        FileWriter fs = new FileWriter("F:\workspace\个人作业1-数组2\test.txt");//建立一个txt文件
        try {
            Random random = new Random(System.currentTimeMillis());//取系统当前的时间,是给随机数字赋值的常见方法
            for(int i=0;i<1000000;i++) {//这一步的内容是把这个文件用1000000个数字填充满
                /*BigInteger大数不晓得怎么输入啊*/ int k = random.nextInt(323214232)+12323123;//
                fs.write(k+"
");//写进文件里面去
            }
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
        finally {
            if(fs!=null)
            fs.close();//千万别忘记了关闭打开的文件
        }
        
        
    }
        
    }//1
}//最大的括号

第一部分写入文件如图,具体的分析在代码注释里,我就不过多解释了。

这道题目要分两部分,写入文件是第一部分,从文件中读取出来是第二部分。第三部分用之前的代码就足够了。

本来这道题目在这时我应该完完本本的写完的,但这周身体真的很不舒服,这个周末又开始有点发烧头痛。而且昨天又通知周一有考试。真的是屋漏偏逢连夜雨。忙的焦头烂额的

而且写代码得时候从文件读取的部分一直有报错,也不知道到底是什么原因导致的。也有可能是头痛的缘故,思路也乱成一团。

我承认我检讨我上个学期没有打好Java基础,导致这里的文件读写非常难办,唉,半成品的代码我不打算粘上来直接应付了事,因为我知道如果这样的话这道题我就是永远的跳过了,自制力不强的我不会完成的。

所以这次只上一个半成品,强制自己把他完成。

最晚明天晚上八点,一定完成。

原文地址:https://www.cnblogs.com/jyt123/p/10548229.html