类型表达式必须是数组类型但它解析为字符串
type expression must be an array type but it resolved to string
import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;
public class Solution {
static void displayPathtoPrincess(int n, String [] grid){
char p;
if(grid[0][0]=='p')
{
for(int i=0;i<(n-1)/2;i++)
{
System.out.println("UP\nLEFT\n");
}
}
else if(grid[0][n-1]=='p')
{
for(int i=0;i<(n-1)/2;i++)
{
System.out.println("UP\nRIGHT\n");
}
}
else if(grid[n-1][0]=='p')
{
for(int i=0;i<(n-1)/2;i++)
{
System.out.println("DOWN\nLEFT\n");
}
}
else if(grid[n-1][n-1]=='p')
{
for(int i=0;i<(n-1)/2;i++)
{
System.out.println("DOWN\nRIGHT");
}
}
}
public static void main(String [] args) {
Scanner in = new Scanner(System.in);
int m;
m = in.nextInt();
int grid[] = new int[m];
for(int i = 0; i < m; i++) {
grid[i] = in.nextInt();
}
displayPathtoPrincess(m,grid);
}
}
嘿,我在 if 语句中传递了几个条件,如您在代码中看到的 "grid[0][0]=='p'",其中 grid 是一个二维数组,p 是一个字符,但我收到错误 "the type of the expression must be an array type but it resolved to string"。一段时间以来,我一直在努力解决这个问题,但我还没有找到任何解决方案。
注意:我是 java 的新手,我正在努力提高自己。提前感谢您的帮助。
参数网格的类型为一维字符串数组。但是您正在访问它,就好像它是一个二维字符数组一样。您应该通过比较 String.charAt(position)
.
来更改实现
import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;
public class Solution {
static void displayPathtoPrincess(int n, String [] grid){
char p;
if(grid[0][0]=='p')
{
for(int i=0;i<(n-1)/2;i++)
{
System.out.println("UP\nLEFT\n");
}
}
else if(grid[0][n-1]=='p')
{
for(int i=0;i<(n-1)/2;i++)
{
System.out.println("UP\nRIGHT\n");
}
}
else if(grid[n-1][0]=='p')
{
for(int i=0;i<(n-1)/2;i++)
{
System.out.println("DOWN\nLEFT\n");
}
}
else if(grid[n-1][n-1]=='p')
{
for(int i=0;i<(n-1)/2;i++)
{
System.out.println("DOWN\nRIGHT");
}
}
}
public static void main(String [] args) {
Scanner in = new Scanner(System.in);
int m;
m = in.nextInt();
int grid[] = new int[m];
for(int i = 0; i < m; i++) {
grid[i] = in.nextInt();
}
displayPathtoPrincess(m,grid);
}
}
嘿,我在 if 语句中传递了几个条件,如您在代码中看到的 "grid[0][0]=='p'",其中 grid 是一个二维数组,p 是一个字符,但我收到错误 "the type of the expression must be an array type but it resolved to string"。一段时间以来,我一直在努力解决这个问题,但我还没有找到任何解决方案。 注意:我是 java 的新手,我正在努力提高自己。提前感谢您的帮助。
参数网格的类型为一维字符串数组。但是您正在访问它,就好像它是一个二维字符数组一样。您应该通过比较 String.charAt(position)
.