课堂小测三
终于把补丁打好了,虽然说参考了一下他们的,过程也有些小曲折,但是终终终终终终终终终终终终终终于写完了。
import java.util.*;
import java.io.*;
public class two_3 {
static Scanner scanner = new Scanner(System.in);
static File file = new File("D:/input.txt");
static String result = new String();//储存读取的内容
public static void main(String[] args) throws IOException {
if (file.exists())
{ // 检查input.txt是否存在
System.out.println("File already exists");
}
else
{
System.out.println("File don't exists");
}
FileInputStream f1= new FileInputStream(file);
int length=0;
int length_2=0 ;
//将数字和符号储存在String中
for(int i=0;i<file.length();i++) {
char ch=(char)(f1.read());//循环读取文本里的字符
if(ch!='\r' &&ch!='\n') {
if(ch!=',' && ((ch>='0'&& ch<='9') || ch=='-')) {
result+=ch;
}
//补丁节点1
else if (ch!=',' && ((ch<='0'|| ch>='9') || ch!='-')) {
System.out.print("数据格式有误");
System.exit(1);
}
else {
result+=" ";
}
}
}
f1.close();
System.out.println(result);
//str字符串数组储存每个数
String[] str=new String[10010];
str[0]="";
for(int j=0,i=0;j<result.length();j++) {
if (result.charAt(j)!=' ')
str[i]+=result.charAt(j);
else {
str[++i]="";
}
}
char c = result.charAt(0);
length=(int)c-48;
char d = result.charAt(2);
length_2=(int)d-48;
//补丁节点2
if (length==0) {
System.out.print("数据格式有误");
System.exit(1);
}
//补丁节点3
for (int i = 2;i<length_2;i++) {
if(str[i].length()>=8) {
System.out.print("数字过大,不符合标准");
System.exit(1);
}
}
int tempInt[][] = new int[length][length_2];
int max = 0;
int tempMax = 0;//当前最大值
int n = 4;
int flag='-'-48;
for (int i = 0; i < length; i++) {
for(int j=0;j<length_2;j++) {
int o = j+i*length_2+2;
tempInt[i][j] =Integer.parseInt(str[o]);//Integer.parseInt可以将string字符串转换为int类型
System.out.println(tempInt[i][j]);
if (i==0&&j == 0) {//第一个是元素
tempMax = tempInt[i][j];
max = tempInt[i][j];
} else {
if (tempMax < 0) {
tempMax = tempInt[i][j];
} else {
tempMax += tempInt[i][j];
}
}
if (tempMax > max) {
max = tempMax;
}
n=n+2;
}
}
System.out.println("结果是:*********");
System.out.println(max);
}
}

浙公网安备 33010602011771号