关于蓝桥杯java组的一个递增序列的题目,我上传的这个代码官网一直提示我段错误,但我真的找不到,哭死😭😭,有大佬帮我看一下吗?太感谢了。
下面是我的代码:
import java.util.Scanner;
// 1:无需package// 2: 类名必须Main, 不可修改public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int m=30,n=50; char str[][]=new char[m][n]; for(int i=0; i<m;i++) { str[i] =scan.nextLine().toCharArray(); } int ans=0; for(int i=0;i<m;i++) { for(int j=0;j<n;j++) { int add=1; while(j+add<n) { //判断横向递增序列 if(str[i][j] <str[i][j+add]) { ans++;} add++; } add=1; while(i+add<m){ //判断竖向递增序列 if(str[i][j]<str[i+add][j]) { ans++; } add++; } //判断左下递增序列 add=1; while(i+add<m&&j-add>=0) { if(str[i][j]<str[i+add][j-add]) { ans++; } add++; } //判断右上递增序列 add=1; while(i-add>=0&&j+add<n) { if(str[i][j]<str[i-add][j+add]) { ans++; } add++; } /*判断右下和左上 ,因为判断方法是从左至右,从上至下,所以 右下和左上是同理的,如果都判断,则会有赘余*/ add=1; while(i+add<m&&j+add<n) { if(str[i][j]<str[i+add][j+add]) { ans++; } add++; } } } System.out.println(ans); }}