2016-03-29 14 views
0

Benim asıl yöntem vardır: diziler(Başlangıç ​​Jenerasyonu) Ana yöntem, dizileri tutan ayrı bir sınıftaki bir yöntemi ifade eder. İkinci sınıftaki yöntem nasıl kurulur?

String[] numbers = {"1", "2", "3", "4", "5", "6", "7"}; 
String[] brands= {"aa", "bb", "cc", "dd", "ee", "ff", "gg"}; 
String[] types= {"hh", "ii", "jj", "kk", "ll", "mm", "nn"}; 

(sınıf adı Soda ile aynı paket içinde) benim ikinci yönteme referans

Soda[] list = new Soda[numbers.length]; 
list = listOfSodaCans(numbers,brands,types); 

benim Soda sınıfta benim listOfSodaCans yöntemini biliyoruz vardır Parametreleri (java.lang.String[],java.lang.String[],java.lang.String[]) biçiminde almak için ancak bu kurulumu yapamıyorum. Tekrar tekrar bir sembol bulamıyorum. ListOfSodaCans yöntemi için genel bir yapının neye benzeyeceği konusunda biraz tavsiyede bulunacak mı?

Teşekkür ederiz! Alice- benim Soda yöntemiyle @

: çalışır

public class Soda { 

private Soda[] listOfSodaCans; 


      public Soda[] getListOfSodaCans() { 
      return listOfSodaCans; 
     } 

public void setListOfSodaCans(Soda[] listOfSodaCans) { 
     this.listOfSodaCans= listOfSodaCans; 
     } 

    public static Soda[] listOfSodaCans(String[] numbers, String[] brands, 
      String[] types) { 
     // more code 
     return null; 
    } 
} 
+0

biz görebilir miyiz listOfSodaCans() den static kaldırmak 'listOfS odaCans yöntemi – 3kings

+0

Dizileriniz sınıf düzeyi değişkenleri olarak tanımlanmadığından. Bu dizileri sınıf düzeyi değişkenleri olarak tanımlamanız gerekir. Onları ana yöntem dışında tanımlayın. – additionster

+0

Merhaba 3kings, şu anda sahip olduğum tek şey şudur: public Soda listOfSodaCans (String [] sayı, String [] marka, String [] type) { } – Temp

cevap

0

Soda Sınıf

public class Soda { 
    public static Soda[] listOfSodaCans(String[] numbers, String[] brands, 
      String[] types) { 
     // more code 
     return null; 
    } 
} 

Ana Sınıfı o

public static void main(String[] args) { 

     String[] numbers = { "1", "2", "3", "4", "5", "6", "7" }; 
     String[] brands = { "aa", "bb", "cc", "dd", "ee", "ff", "gg" }; 
     String[] types = { "hh", "ii", "jj", "kk", "ll", "mm", "nn" }; 

     Soda[] list = new Soda[numbers.length]; 
     list = Soda.listOfSodaCans(numbers, brands, types); 

     // way 2, accessing by instance 
     // Soda soda = new Soda(); 
     // list = soda.listOfSodaCans(numbers, brands, types); 
    } 

gibi olacak, daha iyi

+0

Merhaba Alice- bu son derece yararlıdır! (ve herkese de teşekkür ederim!) Soda'nın isminin listOfSodaCans'tan önce neden eklendiğini merak ediyorum. Bu referansı eklemek zorunda kalmadan bunu ayarlamanın bir yolu var mı? Eğer kaldırırsam, programım tekrar derlenmez ... Bu benim bahsettiğim hat: list = Soda.listOfSodaCans (sayılar, markalar, türler); – Temp

+0

Başka bir sınıfta olan yöntemi çağırmak isterseniz. İki yolunuz var: 1. örnek oluşturarak 2. bu yöntemi 'durağan' gibi yapın Soda.listOfSodaCans() ' – Alice

+0

Bir örnek oluşturmam gerektiğini hissediyorum. Üzgünüm yardım istemeye devam ediyorum ama bana gösterebileceğin bir örnek var mı? – Temp

0
İşte

bir şey. Kodu basitleştirmek için "ana" sınıfı (yani sadece bir tane) kullanıyorum, ama aynı olacaktır. Eğer yolu 2 kullanırsanız

import java.io.Console; 

public class Main { 

    public static void main(String[] args) { 
     // TODO Auto-generated method stub 
     String[] numbers = {"1", "2", "3", "4", "5", "6", "7"}; 
     String[] brands= {"aa", "bb", "cc", "dd", "ee", "ff", "gg"}; 
     String[] types= {"hh", "ii", "jj", "kk", "ll", "mm", "nn"}; 

     Main m = new Main(); 

     m.listOfSodaCans(numbers, brands, types); 
    } 


    public void listOfSodaCans(String[] numbers, String[] brands, String[] types) { 
     System.out.println(numbers.length); 
    } 

} 
İlgili konular