2014-09-03 3 views
0

Привет, я начинаю в JAVA. Я создал два класса в одной папке, но если я запускаю эти классы. результат только одного класса, но результат второго класса я не вижу. Как печатать оба класса.Как увидеть результат двух классов в java

Вот мой код: -

package faham; 

public class StudentRoom { 
    int rollno; 
    String name; 
    static String college = "ITS"; 

    static void change(){ 
     college = "BBITS"; 
    } 

    StudentRoom(int r, String n){ 
     rollno = r; 
     name = n; 
    } 

    void display(){ 
     System.out.println(rollno + " " + name + " " + college); 
    } 

    public static void main(String args[]){ 
     StudentRoom.change(); 
     StudentRoom s1 = new StudentRoom (111, "Mohd Javed"); 
     StudentRoom s2 = new StudentRoom (333, "Bashkar"); 
     StudentRoom s3 = new StudentRoom (222, "Faham Javed"); 

     s1.display(); 
     s2.display(); 
     s3.display(); 
    } 

    static class Calculate{ 
     static int cube(int x){ 
      return x*x*x; 
     } 

     public static void main(String args[]){ 
      int result=Calculate.cube(5); 
      System.out.println(result); 
     } 

    } 

} 
+0

но я не вижу результата второго класса. Я встаю за пределы –

+0

, как вы называете эти классы? – RST

ответ

1

Создание двух различных .java файлов для этих двух public классов, скомпилировать их по отдельности, запускать их по отдельности. Прежде чем делать это, читайте больше о структуре java-программы.

//StudentRoom.java 
public class StudentRoom { 
    int rollno; 
    String name; 
    static String college = "ITS"; 

    static void change(){ 
     college = "BBITS"; 
    } 

    StudentRoom(int r, String n){ 
     rollno = r; 
     name = n; 
    } 

    void display(){ 
     System.out.println(rollno + " " + name + " " + college); 
    } 

    public static void main(String args[]){ 
     StudentRoom.change(); 
     StudentRoom s1 = new StudentRoom (111, "Mohd Javed"); 
     StudentRoom s2 = new StudentRoom (333, "Bashkar"); 
     StudentRoom s3 = new StudentRoom (222, "Faham Javed"); 

     s1.display(); 
     s2.display(); 
     s3.display(); 

     Calculate calculate = new Calculate(); 
     int cubeResult = calculate.cube(5); 
     System.out.println("Cubed result" + cubeResult); 
    } 



} 



//Calculate.java 
public class Calculate{ 
     static int cube(int x){ 
      return x*x*x; 
     } 

     public static void main(String args[]){ 
      int result=Calculate.cube(5); 
      System.out.println(result); 
     } 

    } 
0

Я бы предложил не использовать статический класс внутри для изучения основ Java. В вашем случае было бы лучше создать Calculate как отдельный класс (см. Пример ниже). Затем вы можете создать объект внутри основного и использовать метод cube().

package faham; 

public class StudentRoom { 
    int rollno; 
    String name; 
    static String college = "ITS"; 

    static void change(){ 
     college = "BBITS"; 
    } 

    StudentRoom(int r, String n){ 
     rollno = r; 
     name = n; 
    } 

    void display(){ 
     System.out.println(rollno + " " + name + " " + college); 
    } 

    public static void main(String args[]){ 
     StudentRoom.change(); 
     StudentRoom s1 = new StudentRoom (111, "Mohd Javed"); 
     StudentRoom s2 = new StudentRoom (333, "Bashkar"); 
     StudentRoom s3 = new StudentRoom (222, "Faham Javed"); 

     s1.display(); 
     s2.display(); 
     s3.display(); 

     Calculate calculate = new Calculate(); 
     int cubeResult = calculate.cube(5); 
     System.out.println("Cubed result" + cubeResult); 
    } 



} 

class Calculate{ 
    static int cube(int x){ 
     return x*x*x; 
    } 
} 
0

вы можете иметь классы столько, сколько вы хотите , но если вы хотите, чтобы рассматривать классы как приложение, то вы можете иметь один основной класс

основной класс является классом у static main(String args)

так что вам нужно сохранить только 1 main() только в публичном классе в вашем случае StudentRoom и называть оба класса на этом основном()

, поэтому ваш главный должен выглядеть так:

public static void main(String args[]){ 
     StudentRoom.change(); 
     StudentRoom s1 = new StudentRoom (111, "Mohd Javed"); 
     : 
     : 
     : 

     s1.display(); 
     : 
     : 
     : 

//then 
     Calculate calc= new Calculate(); 
     int result=Calculate.cube(5); 
      System.out.println(result); 
    } 

и главное в Calculate больше не требуется

0

Вы можете вызвать метод любого класса, используя класс, который есть основной метод, поэтому нет никакой необходимости иметь основной метод в своем классе стоимость. Единственное, что вам нужно сделать, это создать объект вашего класса, рассчитать и вызвать метод. Смена будет

Просто добавьте это в свой класс ученика и удалите основной метод из вашего класса вычислений.

public static void main(String args[]){ 
     StudentRoom.change(); 
     StudentRoom s1 = new StudentRoom (111, "Mohd Javed"); 
     StudentRoom s2 = new StudentRoom (333, "Bashkar"); 
     StudentRoom s3 = new StudentRoom (222, "Faham Javed"); 

     Calculate calculate = new Calculate(); 
     int cubeResult = calculate.cube(5); 


     s1.display(); 
     s2.display(); 
     s3.display(); 
System.out.println("Cubed result" + cubeResult); 
Смежные вопросы