2016-04-08 12 views
0

Ich möchte auf die Ganzzahlvariable X [0] von Java-Klassenzählung in einer anderen Java-Klasse radioques zugreifen, die von demselben Paket sind. Ich möchte den Durchschnitt von X [0] aus der ersten Java-Klasse und O aus der zweiten Java-Klasse berechnen. Die Klassen sind:Wie man auf eine Variable von einer Klasse zu einer anderen desselben Pakets zugreift

package abc; 

import java.io.*; 
import java.util.*; 

public class count { 

public static File f = new File("C:/Users/Prashant/Desktop/OCEAN/f.txt"); 
public static File[] fileList = new File("C:/Users/Prashant/Desktop/OCEAN/Clusters/").listFiles(); 

public int countWord(String word, File file) throws FileNotFoundException { 
    int c = 0; 
    Scanner scanner = new Scanner(file); 
    while (scanner.hasNext()) { 
     String nextToken = scanner.next(); 
     if (nextToken.equalsIgnoreCase(word)) { 
      c++; 
     } 
    } 
    scanner.close(); 
    return c; 
} 

public static void main(String[] args) throws IOException, FileNotFoundException //, NoSuchElementException 
{ 
    count c = new count(); 
    c.xyz(); 
} 

public void xyz() throws IOException, FileNotFoundException //, NoSuchElementException 
{ 
    int res = 0; 
    int X[] = new int[10]; 
    for (int i = 0; i < 10; i++) { 
     Scanner scanner1 = new Scanner(fileList[i]); 
     res = 0; 
     while (scanner1.hasNext()) { 
      String nextToken1 = scanner1.next(); 
      count d = new count(); 
      int s = d.countWord(nextToken1, f); 
      res += s; 
     } 
     System.out.println(res); 
     X[i]=res; 
     File fl = new File("C:/Users/Prashant/Desktop/OCEAN/res.txt"); 
     if (!fl.exists()) { 
      fl.createNewFile(); 
     } 
     FileWriter fw = new FileWriter(fl, true); 
     BufferedWriter bw = new BufferedWriter(fw); 
     //bw.write(res+"\n"); 
     bw.write(fileList[i].getName().toString() + "\t" + res + "\n"); 
     //bw.write(System.getProperty("line.separator")); 
     bw.close(); 
     scanner1.close(); 
    } 
} 
} 

Die andere Klasse ist:

package abc; 

import org.apache.jasper.JasperException; 

public class radioques { 


public void rq(String q[]) throws JasperException, NullPointerException, Exception { 
    int ques[] = new int[44]; 
    int i = 0; 
    for (String s : q) { 
     ques[i] = Integer.parseInt(s.trim()); 
     i++; 
    } 
    int o, c, e, a, n; 
    o = ques[4] + ques[9] + ques[14] + ques[19] + ques[24] + ques[29] + (6 - ques[34]) + ques[39] + (6 - ques[40]) + ques[43]; 
    c = ques[2] + (6 - ques[7]) + ques[12] + (6 - ques[17]) + (6 - ques[22]) + ques[27] + ques[32] + ques[37] + (6 - ques[42]); 
    e = ques[0] + (6 - ques[5]) + ques[10] + ques[15] + (6 - ques[20]) + ques[25] + (6 - ques[30]) + ques[35]; 
    a = (6 - ques[1]) + ques[6] + (6 - ques[11]) + ques[16] + ques[21] + (6 - ques[26]) + ques[31] + (6 - ques[36]) + ques[41]; 
    n = ques[3] + (6 - ques[8]) + ques[13] + ques[18] + (6 - ques[23]) + ques[28] + (6 - ques[33]) + ques[38]; 
    float O = (float) o; 
    O = O/50 * 100; 
    float C = (float) c; 
    C = C/50 * 100; 
    float E = (float) e; 
    E = E/50 * 100; 
    float A = (float) a; 
    A = A/50 * 100; 
    float N = (float) n; 
    N = N/50 * 100; 
    System.out.println(O); 
    System.out.println(C); 
    System.out.println(E); 
    System.out.println(A); 
    System.out.println(N); 



} 

public static void main(String args[]) { 

} 
} 

Antwort

0

Ihre Klasse count keine Variable X genannt hat. Ihre Methode xyz hat eine lokale Variable namens X, die aber nur während eines Aufrufs der Methode gültig ist.

Vielleicht sollten Sie mehr über die Grundlagen von Java lesen?

Entweder Rückkehr X[0] von xyz wenn xyz genannt wird, in dem Sie diesen Wert wollen, oder es sich um eine Instanzvariable, die Sie direkt oder über einen Getter-Methode zugreifen können.

Verwandte Themen