Java 在toString方法中使用数组
我已经在这个项目上工作了一段时间了,但我仍然不知道它的第一部分。我正试图用字母网格来搜索单词,但我似乎不知道如何打印出来。到目前为止,我已经:Java 在toString方法中使用数组,java,arrays,tostring,Java,Arrays,Tostring,我已经在这个项目上工作了一段时间了,但我仍然不知道它的第一部分。我正试图用字母网格来搜索单词,但我似乎不知道如何打印出来。到目前为止,我已经: public wordsearch(int row, int col, String letters){ if (letters.length()== row*col){ gridletters= letters; gridrow=row; gridcol=col; letters=
public wordsearch(int row, int col, String letters){
if (letters.length()== row*col){
gridletters= letters;
gridrow=row;
gridcol=col;
letters= letters.toUpperCase();
String array[][]= new String[row][col];
int character=0;
for(int rowNum =0; rowNum<row; rowNum++){
for(int colNum=0; colNum<col; colNum++){
array[rowNum][colNum] = letters.charAt(character) + "";
character++;
}
}
}
}
public wordsearch(整数行、整数列、字符串字母){
if(letters.length()==行*列){
网格字母=字母;
gridrow=行;
gridcol=col;
字母=字母。toUpperCase();
字符串数组[][]=新字符串[行][列];
int字符=0;
对于(int-rowNum=0;rowNum)
然后我必须使用toString方法打印它,但我不能
访问toString中的数组
enpublic String toString(){
String grid= "";
for(int index=0; index<gridrow; index++){
for(int index2=0; index2<gridcol; index2++){
grid+= array[index][index2]+ " ";
}
grid+= "\n";
}
return grid;
}
在类顶部的某个位置声明一个数组,如下所示:
String globalArray[][];
在wordSearch方法的右大括号之前,请执行以下操作:
globalArray = array; // point it to the local array
然后在toString()
方法中,您可以访问全局数组
然后我必须使用toString方法打印它,但我不能
访问toString中的数组
enpublic String toString(){
String grid= "";
for(int index=0; index<gridrow; index++){
for(int index2=0; index2<gridcol; index2++){
grid+= array[index][index2]+ " ";
}
grid+= "\n";
}
return grid;
}
在类顶部的某个位置声明一个数组,如下所示:
String globalArray[][];
在wordSearch方法的右大括号之前,请执行以下操作:
globalArray = array; // point it to the local array
然后在toString()
方法中,您可以访问globalArray。您不能访问在一个方法体中声明的局部变量(除非您从第一个方法调用第二个方法并将该变量作为参数传递)。您必须在类级别声明它
public class YourClass {
private String array[][];
public wordsearch(int row, int col, String letters){
if (letters.length()== row*col){
gridletters= letters;
gridrow=row;
gridcol=col;
letters= letters.toUpperCase();
array= new String[row][col];
int character=0;
for(int rowNum =0; rowNum<row; rowNum++){
for(int colNum=0; colNum<col; colNum++){
array[rowNum][colNum] = letters.charAt(character) + "";
character++;
}
}}}
public String toString(){
String grid= "";
for(int index=0; index<gridrow; index++){
for(int index2=0; index2<gridcol; index2++){
grid+= array[index][index2]+ " ";
}
grid+= "\n";
}
return grid;
}
}
公共类您的类{
专用字符串数组[];
公共单词搜索(整数行、整数列、字符串字母){
if(letters.length()==行*列){
网格字母=字母;
gridrow=行;
gridcol=col;
字母=字母。toUpperCase();
数组=新字符串[行][col];
int字符=0;
对于(int-rowNum=0;rowNum您无法访问在一个方法体中声明的局部变量,而在另一个方法体中声明该局部变量(除非您从第一个方法调用第二个方法并将该变量作为参数传递)。您必须在类级别声明该局部变量
public class YourClass {
private String array[][];
public wordsearch(int row, int col, String letters){
if (letters.length()== row*col){
gridletters= letters;
gridrow=row;
gridcol=col;
letters= letters.toUpperCase();
array= new String[row][col];
int character=0;
for(int rowNum =0; rowNum<row; rowNum++){
for(int colNum=0; colNum<col; colNum++){
array[rowNum][colNum] = letters.charAt(character) + "";
character++;
}
}}}
public String toString(){
String grid= "";
for(int index=0; index<gridrow; index++){
for(int index2=0; index2<gridcol; index2++){
grid+= array[index][index2]+ " ";
}
grid+= "\n";
}
return grid;
}
}
公共类您的类{
专用字符串数组[];
公共单词搜索(整数行、整数列、字符串字母){
if(letters.length()==行*列){
网格字母=字母;
gridrow=行;
gridcol=col;
字母=字母。toUpperCase();
数组=新字符串[行][col];
int字符=0;
for(int rowNum=0;rowNumarray
应该是实例变量而不是局部变量。这样,可以从类中的其他方法访问它
您可以在此处找到有关实例变量和局部变量之间差异的更多信息:
例如:
public class WordSearch {
private String array[][]; // declare as instance variable
public WordSearch (int row, int col, String letters) {
if (letters.length() == row * col) {
gridletters = letters;
gridrow = row;
gridcol = col;
letters = letters.toUpperCase();
array = new String[row][col]; // initialize the instance variable
int character = 0;
for (int rowNum = 0; rowNum < row; rowNum++) {
for (int colNum = 0; colNum < col; colNum++) {
array[rowNum][colNum] = letters.charAt(character) + "";
character++;
}
}
}
}
@Override
public String toString() {
String grid= "";
for(int index = 0; index < gridrow; index++) {
for(int index2 = 0; index2 < gridcol; index2++) {
grid += array[index][index2]+ " ";
}
grid += "\n";
}
return grid;
}
}
公共类单词搜索{
私有字符串数组[][];//声明为实例变量
公共单词搜索(整数行、整数列、字符串字母){
if(letters.length()==行*列){
网格字母=字母;
gridrow=行;
gridcol=col;
字母=字母。toUpperCase();
array=newstring[row][col];//初始化实例变量
int字符=0;
对于(int-rowNum=0;rowNum|
数组
应该是实例变量而不是局部变量。这样,可以从类中的其他方法访问它
您可以在此处找到有关实例变量和局部变量之间差异的更多信息:
例如:
public class WordSearch {
private String array[][]; // declare as instance variable
public WordSearch (int row, int col, String letters) {
if (letters.length() == row * col) {
gridletters = letters;
gridrow = row;
gridcol = col;
letters = letters.toUpperCase();
array = new String[row][col]; // initialize the instance variable
int character = 0;
for (int rowNum = 0; rowNum < row; rowNum++) {
for (int colNum = 0; colNum < col; colNum++) {
array[rowNum][colNum] = letters.charAt(character) + "";
character++;
}
}
}
}
@Override
public String toString() {
String grid= "";
for(int index = 0; index < gridrow; index++) {
for(int index2 = 0; index2 < gridcol; index2++) {
grid += array[index][index2]+ " ";
}
grid += "\n";
}
return grid;
}
}
公共类单词搜索{
私有字符串数组[][];//声明为实例变量
公共单词搜索(整数行、整数列、字符串字母){
if(letters.length()==行*列){
网格字母=字母;
gridrow=行;
gridcol=col;
字母=字母。toUpperCase();
array=newstring[row][col];//初始化实例变量
int字符=0;
对于(int-rowNum=0;rowNum|