• 数组读取文件。


    package test;
    
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.util.ArrayList;
    import java.util.List;
    import java.util.Scanner;
    
    public class test {
        public static void main(String[] args)throws IOException
        {
            List<Integer> list=new ArrayList<>();
            Scanner scan=new Scanner(System.in);
    
                FileWriter fw = null;
                  try {
                        //创建字符输出流
                        fw = new FileWriter("D://test.txt");
                        for(int i=0;i<50;i++)
                        {
                            int intval=(int)(Math.random()*-9000000+8999999);
                        fw.write(""+intval+"
    ");
                        }
                    } catch (IOException ioe) {
                        ioe.printStackTrace();
                    } finally {
                        //使用finally块来关闭文件输出流
                        if (fw != null) {
                            fw.close();
                        }
                    }
                  try {
                        File file = new File("D://test.txt");
                        if(file.isFile() && file.exists()) {
                          InputStreamReader isr = new InputStreamReader(new FileInputStream(file), "utf-8");
                          BufferedReader br = new BufferedReader(isr);
                          String lineTxt = "";
                          while ((lineTxt = br.readLine()) != null){
                           list.add(Integer.parseInt(lineTxt));
                          }
                          Object[]a=list.toArray();
                         
                          br.close();
                             int sum=a.length;
                             int sum1=0;
                                for(int i=1;i<=sum;i++)
                                {
                                    sum1=sum1+i;
                                }
                                int [] b=new int[sum1];
                                int temp1=0;
                                for(int i=0;i<sum;i++)
                                {
                                    int temp=0;
                                    for(int k=0;k<sum-i;k++)
                                    {   
                                        temp=temp+(int)a[i+k];
                                        b[temp1]=temp;
                                        temp1++;
                                    }
                                }
                                for(int i=0;i<sum1-1;i++)
                                    for(int k=0;k<sum1-1-i;k++)
                                    {
                                        if(b[k]<b[k+1])
                                        {
                                            int temp2=b[k];
                                            b[k]=b[k+1];
                                            b[k+1]=temp2;
                                        }
                                    }
                                System.out.println("最大的子数组和为"+b[0]);
                        } else {
                          System.out.println("文件不存在!");
                        }
                      } catch (Exception e) {
                        System.out.println("文件读取错误!");
                      }
            }
            
         
              

    设计思想:首先先fw = new FileWriter("D://test.txt");创建字符输出流,int intval=(int)(Math.random()*-9000000+8999999);以此来创建随机数组,File file = new File("D://test.txt");然后来读取数组。

  • 相关阅读:
    [Nowcoder] 六一儿童节(拼多多)
    [Nowcoder] 大整数相乘(拼多多笔试题)
    [Nowcoder] 最大乘积(拼多多笔试题)
    [Paddle学习笔记][06][图像分类-动态图]
    [Paddle学习笔记][05][对抗生成网络]
    [Paddle学习笔记][04][图像分类]
    [Paddle学习笔记][03][数字识别]
    [Paddle学习笔记][02][MNIST转换到PNG]
    [Paddle学习笔记][01][线性回归]
    [caffe学习笔记][06][使用LeNet分类输入图片]
  • 原文地址:https://www.cnblogs.com/zlj843767688/p/10548777.html
Copyright © 2020-2023  润新知