每周总结五

 

 

public class demo {
public static void main(String[] args)
{
int hang = 0;
int lie = 0;
BufferedReader br =null;
try
{
br = new BufferedReader(new FileReader("D:\\input.txt"));
String contentLine = br.readLine();
//读入行数
for(int i=0;i<contentLine.length();i++)
{
if(contentLine.charAt(i)!=',')
{
hang = contentLine.charAt(i)-48;
}
}
contentLine = br.readLine();
//读入列数
for(int i=0;i<contentLine.length();i++)
{
if(contentLine.charAt(i)!=',')
{
lie = contentLine.charAt(i)-48;
}
}
contentLine = br.readLine();
int [][]num=new int[hang][lie+1];//创建一个二维的整形数组
for(int i=0,t=0;i<hang;i++)
{
for(int j=0;j<contentLine.length();j++)
{
if (contentLine.charAt(j) == ',') {
continue;
} else if (contentLine.charAt(j) == '-') {
num[i][t] = 48 - contentLine.charAt(j + 1);
j++;
t++;
} else if (contentLine.charAt(j) >= '0' && contentLine.charAt(j) <= '9') {
num[i][t] = contentLine.charAt(j) - 48;
t++;
}
}
t=0;
contentLine = br.readLine();
}
System.out.println(hang);
System.out.println(lie);
for(int i=0;i<hang;i++)
{
for(int j=0;j<num[i].length-1;j++)
{
System.out.print(num[i][j] + " ");
}
System.out.println();
}
int sum = 0;
int max = 0;
for(int i=0;i<num[0].length;i++){
if(sum+num[0][i]>0){
sum = sum + num[0][i];
}else{
sum=0;
}

if(sum>max){
max=sum;
}
}
System.out.println(max);

}catch(IOException e)
{
e.printStackTrace();
}
}

}

输出结果:

 

 

 

还存在几个问题没有解决:

  • 只能读取0-9之间的整数
  • 只能返回单行数组中的最大值
posted @ 2022-03-19 19:29  lzzs111  阅读(20)  评论(0)    收藏  举报