import java.io.*; 
/*(第2个类中引用的数组在第一个类中都设为了public static,且在第一个类中用println可以输出每个数组,但是第二个类引用时,println输出值始终为空或者0)注意,是在同一包中的不同的类文件引用,而不是同一个类文件中的不同类引用,请高手们指点下,偶是菜鸟,谢谢啦*/
 
public class tt {     
   public static float [][] sdis= new float[20][20];
   

  public static void main(String[] args) throws IOException {
  
  { 
    
     
    try{ int i=0;
      FileReader frd=new FileReader("c:\\111\\dist.txt");   
      BufferedReader brd=new BufferedReader(frd); 
      String ligned; 
      ligned=brd.readLine(); 
      while(ligned!=null){
          String[] sNumberd=ligned.split(" ");
          for(int j=0;j<sNumberd.length;j++){
           sdis[i][j]=Float.parseFloat(sNumberd[j]);
           System.out.println(sdis[i][j]);
        }
          System.out.println(i+"*******************");
          ligned=brd.readLine();
          i++;
      }
      
          brd.close();   
          frd.close();
    }catch(IOException Ie){
        System.out.println("sorry");
        Ie.printStackTrace();
    } } //下面是另一个类import java.util.*;
import java.io.*; 
public class rr{


public static void main(String[] args){


System.out.println(tt.sdis[1]); }}

解决方案 »

  1.   

    楼主的 tt类(以后首字母要大写)变量sdis 的赋值是在main()函数里的,不调用miain()函数,sdis就是默认值。
    要想得到内容,应先调用main()函数。
    tt.main();
    然后再看。
      

  2.   

    这个程序暴强,用eclipse 都format 不了
      

  3.   

    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileReader;
    import java.io.IOException;public class TT {
    public static float[][] sdis = new float[10][10]; static { try {
    int i = 0;
    File file = new File("D:\\test.txt");
    FileReader filereader = new FileReader(file);
    BufferedReader brd = new BufferedReader(filereader);
    String ligned;
    ligned = brd.readLine();
    while (ligned != null) {
    String[] sNumberd = ligned.split(" ");
    for (int j = 0; j < sNumberd.length; j++) {
    sdis[i][j] = Float.parseFloat(sNumberd[j]);
    System.out.println(sdis[i][j]);
    }
    System.out.println(i + "*******************");
    ligned = brd.readLine();
    i++;
    } brd.close();
    filereader.close();
    } catch (IOException e) {
    System.out.println("sorry");
    e.printStackTrace();
    }
    }
    }public class RR { public static void main(String[] args) { for(int i=0;i<TT.sdis.length;i++){
    for(int j=0;j<TT.sdis[i].length;j++){
    System.out.print(TT.sdis[i][j]+"、");
    }
    System.out.println();
    } }
    }
      

  4.   

    java程序不是这样的,数组的赋值居然在main()方法了,别的类根本调用根本不会允许TT的main()怎么赋值?。文件的操作也有点小问题
      

  5.   


    ++;把tt 类里主函数里面内容放到一个普通函数里面去,把主函数删除,因为是被调用类,所以不需要主函数

    public class rr{
    public static void main(String[] args){new tt().hanshu();//hanshu()里的内容就是tt主函数里面的内容;for(int i=0;i<TT.sdis.length;i++){
    for(int j=0;j<TT.sdis[i].length;j++){
    System.out.print(TT.sdis[i][j]+"、");
    }
    System.out.println();
    }
    }}