我一直收到"cannot find symbol"
错误。它说它无法在identifier.toString
和System.out.println(identifier)
中找到“标识符”。是否有任何关于它为什么找不到我返回的字符串数组的想法?
import java.io.*;
import java.util.*;
//recive data from user, Display data, Store Date to file, retrieve data from file
public class Library
{
public static String [] ident()
{
Scanner inputFile1 = new Scanner("Identifiers");
Scanner inputFile2 = new Scanner("Titles");
Scanner inputFile3 = new Scanner("Descriptions");
String[] identifier = new String[405];
for (int i = 0; i < 406; i++)
{
identifier[i] = inputFile1.nextLine();
}
String[] title = new String[405];
for (int i = 0; i < 406; i++)
{
title[i] = inputFile2.nextLine();
}
String[] description = new String[405];
for (int i = 0; i < 406; i++)
{
description[i] = inputFile3.nextLine();
}
return identifier;
}
public static void main(String args)
{
Library.ident();
identifier.toString();
System.out.println(identifier);
}
}
答案 0 :(得分:0)
您需要将返回值存储在变量
中public static void main(String args)
{
String[] identifier = Library.ident();
identifier.toString();
System.out.println(identifier);
}
答案 1 :(得分:0)
您的代码中存在两个问题。
首先:ident
方法返回一个值(identifier
),并且您没有在main
方法中使用此值。相反,您尝试直接访问变量identifier
,但它仅在ident
方法中可见/可访问。对此的解决方案是:
String[] identifier = Library.ident();
identifier.toString();
第二个问题:在我看来,for循环会造成一些麻烦。如您所见,该阵列使用405个元素进行初始化。如果要迭代所有这些,则从0到404而不是406。
String[] identifier = new String[405];
for (int i = 0; i < 406; i++)
答案 2 :(得分:0)
变量标识符仅在方法ident
中声明,因此在该范围之外不可见...
除非您将该方法的返回值分配给某个变量对象...
,否则无法访问它