SORU
1 NİSAN 2010, PERŞEMBE


statik olmayan değişken olamaz başvurulan statik bir içerik

Kötü hala static hakkında her şeyi anlamıyorum o yüzden ilk ve en öğretildi.

Benim hata daha sonra "non-statik değişken olamaz ..." hata. ben yöntemlerimi içinde kullanmaya ilan sonra her bir değişken ile

Sadece benim çantaların içinde benim tüm yöntemleri kaba kodlama koyabilirim, ve çalışıyor ama sonra yapamam özyineleme kullanmak.

Benim ihtiyacım olan, sözdizimi Yardım ve yöntemlerimi compareCount vb gibi üstünde benim değişkenleri tanımak için nasıl doğru yönde bana gelin biri

public class MyProgram7 {
 public static void main (String[]args) throws IOException{
  Scanner scan = new Scanner(System.in);
  int compareCount = 0;
  int low = 0;
  int high = 0;
  int mid = 0;  
  int key = 0;  
  Scanner temp;  
  int[]list;  
  String menu, outputString;  
  int option = 1;  
  boolean found = false;  

     // Prompt the user to select an option

    menu =  "\n\t1  Reads file"   
       "\n\t2  Finds a specific number in the list"   
      "\n\t3  Prints how many comparisons were needed"   
             "\n\t0  Quit\n\n\n";

  System.out.println(menu);
  System.out.print("\tEnter your selection:   ");
  option = scan.nextInt(); 

   // Keep reading data until the user enters 0
     while (option != 0) {
   switch (option) {

   case 1:
      readFile();
     break;

   case 2:
      findKey(list,low,high,key);
     break;

   case 3:
      printCount();
     break;

   default: outputString = "\nInvalid Selection\n";
         System.out.println(outputString);
         break;
   }//end of switch
    System.out.println(menu);
    System.out.print("\tEnter your selection:   ");
    option = scan.nextInt();
  }//end of while   
 }//end of main



 public static void readFile() {
  int i = 0;
  temp = new Scanner(new File("CS1302_Data7_2010.txt"));
  while(temp.hasNext()) {
   list[i]= temp.nextInt();
   i  ;
  }//end of while
  temp.close();
  System.out.println("File Found...");
 }//end of readFile()

 public static void findKey() {
  while(found!=true) {
   while(key < 100 || key > 999) {
    System.out.println("Please enter the number you would like to search for? ie 350: ");
    key = scan.nextInt();
   }//end of inside while
    //base
   if (low <= high) {
    mid = ((low high)/2);
    if (key == list[mid]) {
     found = true;
     compareCount  ;
    }//end of inside if
   }//end of outside if
   else if (key < list[mid]) {
    compareCount  ;
    high = mid-1;
    findKey(list,low,high,key);
   }//end of else if
   else {
    compareCount  ;
    low = mid 1;
    findKey(list,low,high,key);
   }//end of else
  }//end of outside while
 }//end of findKey()

 public static void printCount() {
  System.out.println("Total number of comparisons is: "   compareCount);
 }//end of printCount
}//end of class

CEVAP
1 NİSAN 2010, PERŞEMBE


Bir sınıf ve bu sınıfın bir örneğini arasındaki farkı anlamak gerekir. Eğer sokakta bir araba görürseniz, varsa hangi model veya tip görebiliyorsanız bile bir araba olduğunu hemen anlarsın. Bu gördüğüm ne karşılaştırmak çünküsınıfem"". araba Sınıfı Tüm araçlar için benzer içerir. Bir şablon ya da bir fikir olarak düşün.

Aynı anda, arabayı görmek için bir örnek sınıf "araba" 'den bu yana tüm özelliklerini size beklediğiniz biri Var sürüş, motor, tekerlekler.

Sınıf demiş ki "tüm arabalar bir renk var." örnek diyor ki "bu özel araba kırmızı".

OO dünyada, sınıf tanımlama ve sınıf içinde, size türünde bir alan Color tanımlayın. Sınıf örneği belirli bir örneğini oluşturduğunuzda, bellek renk için ayrılmıştır ve bu belirli bir örnek bir renk verebilir. Bu nitelikleri belli olduğundan, statik olmayan.

Statik alanlar ve yöntemler örnekleri ile paylaşılıyor. Sınıfa özgü değerleri ve belirli bir örnek değil. Yöntemler için, bu genellikle küresel yardımcı yöntemler (Integer.parseInt()). Alanlar için, genellikle sabitleri (araç türleri gibi, yani sık sık değiştirin) değil, sınırlı sayıda sahip olduğu bir şey.

Çözmek için sorun, örneğini bir örneği (nesne oluştur) dersin çok çalışma zamanı olabilir yedek bellek için örnek (aksi takdirde, farklı örneklerini olur üzerine birbirlerine olan istemiyorsun).

Senin durumunda, başlangıç bloğu olarak bu kodu deneyin:

public static void main (String[] args)
{
    try
    {
        MyProgram7 obj = new MyProgram7 ();
        obj.run (args);
    }
    catch (Exception e)
    {
        e.printStackTrace ();
    }
}

// instance variables here

public void run (String[] args) throws Exception
{
    // put your code here
}

Yeni main() yöntem oluşturur sınıfının bir örneğini içerir (tuhaf geliyor ama günden beri main() oluşturulan sınıfı yerine örnek olabilir bu) ve sonra çağırır bir örnek yöntemi (run()).

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Madeon

    Madeon

    31 Ocak 2010
  • paikimchung

    paikimchung

    12 Mayıs 2006
  • William Hyde

    William Hyde

    23 HAZİRAN 2008