2016-09-01 2 views
2

Выполнение задания для uni, где мне нужно создать страницу продаж для билетов на олимпийскую. Это только базовая задача, но мне было интересно, как я мог бы использовать два int s student и general, расположенный в классе покупки в классе меню специально для просмотра билетов.Как обмениваться int между различными методами java

Вот мой код ниже

package assignment1; 

import java.util.Scanner; 

public class modulisationtest { 

    public static void main(String[] args) 
    { 
     // TODO Auto-generated method stub 
     int i, user, general, student; 

     Scanner s = new Scanner(System.in); 

     for(i=1; i <=60; i = i+1) 
      System.out.print("*"); 
     System.out.println(""); 
     System.out.println("Federation University olympics 2016"); 
     System.out.println(""); 
     System.out.println("Developed by Ryan Guest, Student id 30285253 for Itech1000 "); 
     System.out.println(""); 
     for(i=1; i <=60; i = i+1) 
      System.out.print("*"); 
     Menu(); 
    } 


    public static void Menu() { 
     int user; 
     Scanner s = new Scanner(System.in); 
     do 
     { 
      System.out.println("Ticket Purchase Menu"); 
      System.out.println("1.Purchase"); 
      System.out.println("2.View Tickets"); 
      System.out.println("3.Exit"); 
      user = s.nextInt(); 

      switch (user) 
      { 
      case 1: System.out.println("You have selected purchase"); Purchase(); 
      break; 

      case 2: System.out.println("ticket"); 
      break; 

      case 3: 
       System.out.println("Thanks for shopping"); 
       System.exit(user); 

      default: System.out.println("Not Valid"); 
      } 

     } while (user!=3); 





    }  
    public static void Purchase() 

    { 
     int user, general=0, student =0; 
     Scanner s = new Scanner(System.in); 
     { 
      do 
      { 
       System.out.println("Ticket Purchase Menu"); 
       System.out.println("1.General Admission"); 
       System.out.println("2.Student ticket"); 
       System.out.println("3.Finalise order"); 
       System.out.println("4.Return to Menu"); 
       user = s.nextInt(); 

       switch (user) 
       { 
       case 1: 
        System.out.println("How many General tickets do you want to purchase"); 
        general = s.nextInt(); 

        break; 

       case 2: 
        System.out.println("How many student tickets do you want to purchase"); 
        student = s.nextInt(); 

        break; 

       case 3: 
        System.out.println("You're Buying" + " " + general + " " + "General tickets and" + " " + student + " " + "Student Tickets"); 

        break; 


       case 4: 
        break; 

       default: System.out.println("Not Valid"); 
       } 


      } while (user!=3&&user!=4); 




     } 
    } 
} 
+1

вместо просто вызывающие 'static' методы учатся создавать объекты, которые представляют данные, которые вы хотите использовать. –

ответ

0

Вместо того, чтобы объявить 'Int пользователя, общее = 0, студент = 0;' в функции покупки, объявить их во всем мире в классе, таким образом они могут быть доступны в любом месте в коде, который не является статическим (если вы не измените идентификатор статического

IMPORTS_HERE 
class NAME{ 
    int user = 0, general = 0, student = 0; 
    //CODE HERE 
} 

Pro-Tip:. Всегда инициализировать переменная перед ее использованием, ее хорошая практика и некоторые типы требуют ее. Кроме того, не объявляйте переменную внутри функции, ее плохую практику, так как она резервирует новую память каждый раз, когда вы вызываете эту функцию!: D

Смежные вопросы