zoukankan      html  css  js  c++  java
  • 个人作业二

    这周的测试是在原来的基础上,运用了文件储存的形式,添加了一些问题,从文件中读取以及在运算中的过程中,出现超除了整数的范围情况的处理,文件的存储不是很难,但是对于超出范围的情况,一开始还没有头绪,但经过了一些同学的指导和百度,略微弄懂了一些,但是在实现的时候,还是出现了一些问题,实现了对于以规模的数据存储,之后有时显得大数据的计算。

    复制代码
    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.util.Scanner;
    
    public class on{
        public static void main(String[] args) throws IOException 
        {
              findmax();
    }
            public static findmax(){
    
            Scanner in= new Scanner(System.in);
            //writeFile();
            int hang=gethang();
            int[] num=getnum(hang);
            long[] num2=new long [hang];
            long max=0;
            int s;
            boolean f=false;
            for(s=0;s<num.length;s++) {
                if(num[s]==0)break;
                if(num[s]>0)f=true;
            }
            if(f==true) {
            max=num[0];
            num2[0]=num[0];
            for(int i=1;i<s;i++) {
                num2[i]=num2[i-1]+num[i];
                if(num2[i]>num2[i-1])max=num2[i];
            }
            for(int i=0,j=0;j<s;) {            
                num2[i]=num2[i]-num[j];
                if(num2[i]>max)max=num2[i];
                if(i==s-1) {j++;i=j;}
                else i++;
            }
            }
            else {
                max=num[0];
                num2[0]=num[0];
                for(int i=1;i<s;i++) {
                    num2[i]=num2[i-1]+num[i];
                    if(num2[i]>max)max=num2[i];
                }
            }
            System.out.println(max);
            in.close();
        }
        public static int gethang() {
            int i=0;
            try (FileReader reader = new FileReader("text.txt"); 
                    BufferedReader br = new BufferedReader(reader)) 
                { 
                String line;  
                while ((line = br.readLine()) != null) {
                    i++;
                 }
                } 
                catch (IOException e)
                { 
                    e.printStackTrace(); 
                }
                return i;
        }
        public static int[] getnum(int lang) throws IOException {
            int [] in=new int[lang];
            int i=0;
            try (FileReader reader = new FileReader("text.txt"); 
                    BufferedReader br = new BufferedReader(reader)) 
                { 
                String line;  
                while ((line = br.readLine()) != null) {
                     in[i]= Integer.parseInt(line);
                    i++;
                 }
                } 
                catch (IOException e)
                { 
                    e.printStackTrace(); 
                }
                return in;
        }
        
            public  void writeFile() {
                int i=0;
                int fu=0;
                try {
                    File writeName = new File("text.txt");
                    writeName.createNewFile();
                    try (FileWriter writer = new FileWriter(writeName);
                         BufferedWriter out = new BufferedWriter(writer)
                    ) {
                        for(int j=0;j<150;j++) {
                            i=1+(int)(Math.random()*9);
                            fu=1+(int)(Math.random()*2);
                            if(fu==1)i=0-i;
                        out.write(i+"
    "); // 
    换行
                        out.flush(); 
                        }
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
    }    
    复制代码
  • 相关阅读:
    jmeter教程索引
    JMeter 中_time 函数的使用(时间戳、当前时间)
    通用分页存储过程
    如何才算掌握Java(J2SE篇) 转载
    Java 外企面试若干题
    Java 有用的网址 转载
    JDBC链接基本步骤
    java基础学习 视频学习 数据类型以及运算符
    Java基础 构造对象初始化变量的顺序浅见
    全面解析《嵌入式程序员应该知道的16个问题》 转载
  • 原文地址:https://www.cnblogs.com/baixiaoli/p/10548447.html
Copyright © 2011-2022 走看看