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

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

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

  • 相关阅读:
    简练软考知识点整理-项目定义活动过程
    简练软考知识点整理-规划进度管理
    简练软考知识点整理-控制范围
    软考考前注意事项
    简练软考知识点整理-确认范围管理
    数据库之表关系
    数据库引擎
    数据库概念
    IO模型
    异步回调,线程队列,协程
  • 原文地址:https://www.cnblogs.com/jyt123/p/10548229.html
Copyright © 2011-2022 走看看