以文件形式读取数据,在控制台上输出结果。需要先建立文件再进行读取操作,将读取的数据放进特定的数组里再求和
public class shuzhu { public static void main(String[] args) { File f1 = new File("temp.txt"); toArrayByFileReader("temp.txt"); } public static long[] toArrayByFileReader(String name) { // 使用ArrayList来存储每行读取到的字符串 ArrayListarrayList = new ArrayList<>(); try { FileReader fr = new FileReader(name); BufferedReader bf = new BufferedReader(fr); String str; // 按行读取字符串 while ((str = bf.readLine()) != null) { arrayList.add(str); } bf.close(); fr.close(); } catch (IOException e) { e.printStackTrace(); } // 对ArrayList中存储的字符串进行处理 int length = arrayList.size(); long[] array = new long[length]; System.out.println("读取到的数组为:"); for (int i = 0; i < length; i++) { String s = arrayList.get(i); array[i] = Long.parseLong(s); System.out.println(array[i]); } long maxsum,start;//最大子数组maxsum和开始位置值maxstart int i; maxsum = array[0]; start = array[0]; for(i=1;i maxsum) { maxsum = start; //再判断start与maxsum的大小,若start大于maxsum,则maxsum的值为start,start的值不变 } } System.out.println("最大子数组的和为:"); System.out.println(maxsum); // 返回数组 return array; } }