java两个程序组合在一起,应该比较简单。菜鸟求解。

一个程序里我java读取了个txt数据文件。publicclassRead{publicstaticvoidmain(String[]args){try{Scanneri... 一个程序里我java读取了个txt数据文件。
public class Read {
public static void main(String[] args) {
try {
Scanner in = new Scanner(new File("d:/b.txt"));

while (in.hasNextLine()) {
String str = in.nextLine();
String[] b = str.split("[\\p{Space}]+");
}
txt文件:
1 2 45° 100 1 (1,1) 甲
2 3 90° 200 2 (2,2) 乙
2 4 180° 250 3 (2,3) 丙
3 2 270° 200 4 (0,2) 丁
另外一个程序是个多叉树遍历,其中有部分是定义一个树也就是lists部分
public class tree {

private List<String[]> lists = new ArrayList<String[]>();
public tree(){
lists.add(new String[]{"0","1"});
lists.add(new String[]{"0","2"});
lists.add(new String[]{"0","3"});
lists.add(new String[]{"3","4"});
lists.add(new String[]{"3","5"});
lists.add(new String[]{"3","6"});
lists.add(new String[]{"6","7"});
lists.add(new String[]{"6","8"});
}
public boolean treeA(String s,String sysos){
boolean f = true;
for (int j = 0; j < lists.size(); j++) {
String[] str = lists.get(j);
if(str[0].equals(s)){
if(treeA(str[1],sysos+s)){
f = false;
}
}
}
if(f){

String c = sysos+s;
System.out.println(c);
}
return f;
}

public static void main(String[] args){
tree t = new tree();
t.treeA("3","");
}
}
现在就是想把那个树的lists换成(b[0],b[1]),想知道这两个程序如何联系起来,tree如何调用读取的txt数据文件b。
展开
 我来答
yj83855039
2015-04-30 · TA获得超过590个赞
知道小有建树答主
回答量:985
采纳率:33%
帮助的人:491万
展开全部
import java.io.File;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class tree {

private List<String[]> lists = new ArrayList<String[]>();
public tree(String[] str){
 lists.add(str);
}
public boolean treeA(String s,String sysos){
 boolean f = true;
 for (int j = 0; j < lists.size(); j++) {
  String[] str = lists.get(j);
  if(str[0].equals(s)){
   if(treeA(str[1],sysos+s)){
    f = false;
   }
  }
 }
 if(f){  
  String c = sysos+s; 
  System.out.println(c);
 }
 return f;
}
 
public static void main(String[] args){
File file = new File("d:\\b.txt");
Scanner in = null;
String[] b = null;
try{
in = new Scanner(file);
}catch(FileNotFoundException e){
e.printStackTrace();
}
while (in.hasNextLine()) {
            String str = in.nextLine();
            b = str.split("[\\p{Space}]+");
}
for(int i=0;i<b.length;i++)
System.out.println("b["+i+"]="+b[i]);
    tree t = new tree(b);
    t.treeA("2","");
}
}
追问
程序运行后不能正确显示遍历路径。对于t.tree("x","");无论x取什么, System.out.println("b["+i+"]="+b[i]);输出的都是txt文件最后一行,当且仅当x=3时,System.out.println(c);才能正确显示遍历路径32,其他的数都是直接输出。看看是不是程序哪里有什么问题呀
追答
这个逻辑方面的你自己钻研吧。。我只是把你两段代码给你理清了。。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式