zoukankan      html  css  js  c++  java
  • 课时作业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基础,导致这里的文件读写非常难办,唉,半成品的代码我不打算粘上来直接应付了事,因为我知道如果这样的话这道题我就是永远的跳过了,自制力不强的我不会完成的。

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

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

  • 相关阅读:
    NanoProfiler
    NanoProfiler
    Open Source Cassandra Gitbook for Developer
    Android Fragment使用(四) Toolbar使用及Fragment中的Toolbar处理
    Android Fragment使用(三) Activity, Fragment, WebView的状态保存和恢复
    Android Fragment使用(二) 嵌套Fragments (Nested Fragments) 的使用及常见错误
    Android Fragment使用(一) 基础篇 温故知新
    Set up Github Pages with Hexo, migrating from Jekyll
    EventBus源码解析 源码阅读记录
    Android M Permission 运行时权限 学习笔记
  • 原文地址:https://www.cnblogs.com/jyt123/p/10548229.html
Copyright © 2011-2022 走看看