Java 从不同类调用方法(与其他问题不同)
所以我对java比较陌生,我正试图在我的main中使用一个不同类的方法 我最初用于提取的方法不包含任何数据,而是从文本文档中提取数据 我已经包含了调用从文件加载数据的另一个类方法的代码。它坏了,我的错在哪里Java 从不同类调用方法(与其他问题不同),java,Java,所以我对java比较陌生,我正试图在我的main中使用一个不同类的方法 我最初用于提取的方法不包含任何数据,而是从文本文档中提取数据 我已经包含了调用从文件加载数据的另一个类方法的代码。它坏了,我的错在哪里 import java.io.BufferedReader; import java.io.FileReader; import java.io.File; import java.io.FileNotFoundException; import java.util.Scanner; pu
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class FinalRobert {
public static void main(String[] args) {
//output of animalList class here
}
这是我想要学习的课程:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileNotFoundException;
import java.io.IOException;
public class animalList {
public void animalDetails () {
int i = 0;
String animalInfo = "C:/Users/Robert/Documents/animals.txt";
String animalHabitat = "C:/Users/Robert/Documents/habitats.txt";
try {
File animalFile = new File(animalInfo);
FileReader animalReader = new FileReader(animalFile);
BufferedReader animalList = new BufferedReader (animalReader);
StringBuilder animalDetailList = new StringBuilder();
String line;
while ((line = animalList.readLine()) != null) {
for (i = 0; i <4 ; i++) {
System.out.println(line);
animalList.readLine();
}
}
animalReader.close();
System.out.println(animalDetailList.toString());
}
catch (IOException e) {
}
}
}
导入java.io.BufferedReader;
导入java.io.File;
导入java.io.FileReader;
导入java.io.FileNotFoundException;
导入java.io.IOException;
公营动物学家{
公共无效动物细节(){
int i=0;
字符串animalInfo=“C:/Users/Robert/Documents/animals.txt”;
字符串animalHabitat=”C:/Users/Robert/Documents/hobitations.txt”;
试一试{
文件animalFile=新文件(animalInfo);
FileReader animalReader=新的FileReader(animalFile);
BufferedReader animalList=新的BufferedReader(animalReader);
StringBuilder animalDetailList=新StringBuilder();
弦线;
而((line=animalList.readLine())!=null){
对于(i=0;i这是一个动物学家的例子:
public class AnimalList {//use java naming convention
public void animalDetails () {
//mcve should be runnable. The problem you ask help with is not
//reading from file, so remove file reading functionality to make it mcve
StringBuilder animalDetailList = new StringBuilder();
animalDetailList.append("Family: Cats").append("\n")
.append("Type : Panther").append("\n")
.append("Weight: 250kg").append("\n")
.append("Color : Pink");
System.out.println(animalDetailList.toString());
}
}
从另一个类调用其方法:
public class FinalRobert {
public static void main(String[] args) {
//to invoke animalDetails() method use
AnimalList aList = new AnimalList();
aList.animalDetails();
//if you do not need the aList refrence you could use
//new AnimalList().animalDetails();
}
}
输出
家庭:猫
类型:黑豹
体重:250公斤
颜色:
粉红的
我希望这对你有帮助
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class FinalRobert {
public static void main(String[] args) {
animalList list = new animalList();
list.animalDetails();
}
}
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileNotFoundException;
import java.io.IOException;
public class animalList {
public String animalDetails () {
int i = 0;
String output="";
String animalInfo = "C:/Users/Robert/Documents/animals.txt";
String animalHabitat = "C:/Users/Robert/Documents/habitats.txt";
try {
File animalFile = new File(animalInfo);
FileReader animalReader = new FileReader(animalFile);
BufferedReader animalList = new BufferedReader (animalReader);
String line;
while ((line = animalList.readLine()) != null & i<4) {
System.out.println(line);
output = output + "\n"+ line;
i++;
}
animalReader.close();
System.out.println(output);
}
catch (IOException e) {
}
return output;
}
}
导入java.io.BufferedReader;
导入java.io.FileReader;
导入java.io.File;
导入java.io.FileNotFoundException;
导入java.util.Scanner;
公共类最终查询{
公共静态void main(字符串[]args){
animalList list=新的animalList();
list.animalDetails();
}
}
导入java.io.BufferedReader;
导入java.io.File;
导入java.io.FileReader;
导入java.io.FileNotFoundException;
导入java.io.IOException;
公营动物学家{
公共字符串动物详细信息(){
int i=0;
字符串输出=”;
字符串animalInfo=“C:/Users/Robert/Documents/animals.txt”;
字符串animalHabitat=”C:/Users/Robert/Documents/hobitations.txt”;
试一试{
文件animalFile=新文件(animalInfo);
FileReader animalReader=新的FileReader(animalFile);
BufferedReader animalList=新的BufferedReader(animalReader);
弦线;
while((line=animalList.readLine())!=null&I您的问题是?我不知道如何将animalDetails.toString()从animal类输出为第一个if部分下的主类的输出。首先,您应该设置animalDetails()的返回类型然后返回您在那里打印的内容。第二,您可能应该将animalDetails()设置为静态,这样就可以调用它,而无需将animalList公共静态字符串animalDetails(){//此处的所有逻辑;返回animalDetailList.toString();}
公共静态void main(字符串[]args){//System.out.println(animalList.animalDetails());
顺便说一句,类名应该跟在骆驼命名后面:每个字母都应该以大写字母开头。@Tiina你能在上面的代码中说明这一点吗?我试图更改类型并放入return语句,但遇到了“找不到符号”错误。