2016-04-03 29 views
0

İkinci alt modülde alan kullanmak istedim ama "sembol bulamıyor" hatasını nasıl çözebilirim?İlk alt modülden ikinci saniyeye nasıl bilgi aktarılır?

Eğer area adında bir değişken bildirmek asla ama kullanmak, bir oda < -area calcTinsRequired() yılında

import java.util.*; 
public class PaintRoom 
{ 
public static void main(String[] args) 
{ 
    double areaRoom = calcRoomArea(); 
    int tinsRequired = calcTinsRequired(); 
    System.out.println("Total tins:" + tinsRequired); 
} 

public static double calcRoomArea() 
{ 
    Scanner sc = new Scanner(System.in); 
    System.out.println("==Length(m)==\nLength:"); 
    double length = sc.nextDouble(); 
    System.out.println("==Width(m)==\nWidth:"); 
    double width = sc.nextDouble(); 
    double area = length*width; 
    return area; 

} 

public static int calcTinsRequired() 
{ 
    Scanner sc = new Scanner(System.in); 
    System.out.println("==Paint Coverage(m)==\nPaint Coverage:"); 
    double paintCoverage = sc.nextDouble(); 
    int tinsRequired = (int)(area*paintCoverage); 
    return tinsRequired; 
} 
} 
+0

Bize tam yığın izini verebilir misiniz? – Natecat

+0

PaintRoom.java:28: hata: sembolü bulamıyor (alan) int tinsRequired = (int) (alan * paintCoverage); – Ivy

cevap

0

boyamak için gerekli teneke hesaplayın uzunluğu ve genişliği (m) kullanarak odanın alanını hesaplayın tinsRequired'u tanımlarken. Bunu düzeltmek için yapmanız gereken tek şey, bu int tinsRequired = (int)(area*paintCoverage); numaralı telefonun bu int tinsRequired = (int)(calcRoomArea()*paintCoverage); ile değiştirilmesidir. Ek olarak, bir int için yayınlandığınız için, int potansiyel bir 32 bit veri türü ve çift bir 64 bit veri türü olduğu için potansiyel olarak bilgi kaybedersiniz. Bunun yerine uzun bir süre kullanmalısınız.

+0

Bölgeyi clacTinsRequired'ye nasıl bildirebilirim? çünkü int tinsRequired = (int) (calcRoomArea() * paintCoverage) olarak değiştirdiğimde; Uzunluk ve genişlik iki kere eklememi gerektirir. Üzgünüz, programlama için yeni =) – Ivy

+0

Kodunuzu tam olarak okumadım. Orijinal kodunuzu kullanın, ancak calcTinsRequired() öğesine bir yöntem parametresi ekleyin ve alana girin. ÖRNEĞİN. yöntem imzasını 'public static int calcTinsRequired (çift alan)' yap. Ayrıca, cevabım sorunuzu cevaplıyorsa, lütfen onu kabul edin ve kabul edin. – Natecat

+0

bana, PaintRoom sınıfında calcTinsRequired yönteminin belirli türlere uygulanamadığını söyleyen bir hata verdi; int tinsRequired = calcTinsRequired(); required: double – Ivy

İlgili konular