In metoden/classen aufteilen (weniger im main)

Status
Nicht offen für weitere Antworten.
L

LarsS

Gast
Hallo.

Ich habe dieses program geschrieben aber die schule meint ich musse es noch in classen und metoden aufteilen. (Das heisst weniger im main haben und von main nur die metoden laufen lassen) Wenn ich das mache bekomme ich: cannot refer from static context. Ich paste mal das program. Kan mir jemand ein bischen helfen? (Das prgram beinhaltet noch zwei files aber nur mit metoden ich glaube nich das ir die sehen muesst):

Code:
   import java.io.*;
   import java.util.*;

    public class Aktieanalys 
   {
       public static void main(String args[]) throws IOException 
      {
		//---------------------------------------------------------
		// Fundamental Analys
      //---------------------------------------------------------    
		// Skapa en plats fundamenta att spara inläsning i.		
         String[] fundamenta = new String [100];
      	
      // Öppna filen "fundamenta.txt" för läsning.
         SimpleTextFileReader inFundamenta = new SimpleTextFileReader("fundamenta.txt");
      
         String radFundamenta;
         int iFundamenta = 0;
      
      // Läs en rad i taget från filen och fortsätt så länge det finns
      // rader kvar.		
         while ((radFundamenta = inFundamenta.readLine()) != null) 
         {
	  	//Spara inläsning i fundamenta.				
            fundamenta[iFundamenta] = radFundamenta;
           	iFundamenta++;
         }
      
      // Stäng filen.
         inFundamenta.close();
    
		//Skapa tre FundamentalAnalys.	 
	      FundamentalAnalys EricssonFundamentalAnalys, ElectroluxFundamentalAnalys, AstraZenecaFundamentalAnalys;
      
		//Tilldela värden.
         EricssonFundamentalAnalys = new FundamentalAnalys (fundamenta[1], fundamenta[2], fundamenta[3], fundamenta[4]);
         ElectroluxFundamentalAnalys = new FundamentalAnalys (fundamenta[5], fundamenta[6], fundamenta[7], fundamenta[8]);
         AstraZenecaFundamentalAnalys = new FundamentalAnalys (fundamenta[9], fundamenta[10], fundamenta[11], fundamenta[12]);
      
		//--------------------------------------------------------- 
  		//Teknisk Analys 
      //---------------------------------------------------------
		//Skapa en plats kurser att spara inläsning i.
         String[] kurser = new String [1000];
      	
      // Öppna filen "kurser.txt" för läsning.
         SimpleTextFileReader inKurser = new SimpleTextFileReader("kurser.txt");
      
         String radKurser;
         int iKurser = 0;
      
      // Läs en rad i taget från filen och fortsätt så länge det finns
      // rader kvar.		
         while ( (radKurser = inKurser.readLine()) != null) 
         {		
     	// Ny rad efter varje mellanslag
            StringTokenizer stKurser = new StringTokenizer(radKurser);
         
            while (stKurser.hasMoreTokens()) 
            { 
   	// Spara inläsning i kurser.		
               kurser[iKurser] = stKurser.nextToken();
               iKurser++;
            }
         }
         	
      // Stäng filen
         inKurser.close();   
      
		//---------------------------------------------------------
		// OMX
		//---------------------------------------------------------
		// Skapa en plats omx att spara inläsning i.	
         String[] omx = new String [1000];
      	
      // Öppna filen "omx.txt" för läsning.
         SimpleTextFileReader inOmx = new SimpleTextFileReader("omx.txt");
      
         String radOmx;
         int iOmx = 0;
      
      // Läs en rad i taget från filen och fortsätt så länge det finns
      // rader kvar.		
         while ( (radOmx = inOmx.readLine()) != null) 
         {
      // Ny rad efter varje mellanslag.		
            StringTokenizer stOmx = new StringTokenizer(radOmx);
         
            while (stOmx.hasMoreTokens()) 
            {   
     	//Spara inläsning i omx.				
               omx[iOmx] = stOmx.nextToken();
               iOmx++;
            }
         }
      
      // Stäng filen
         inOmx.close();
      
		// Skapa tre TekniskAnalys objekt.     
         TekniskAnalys EricssonTekniskAnalys, ElectroluxTekniskAnalys, AstraZenecaTekniskAnalys;
      
		// Tilldela värden.
         EricssonTekniskAnalys = new TekniskAnalys (kurser[3], kurser[5], kurser[137], kurser[89], kurser[135], omx[4], omx[136]);
  			ElectroluxTekniskAnalys = new TekniskAnalys (kurser[138], kurser[140], kurser[272], kurser[234], kurser[170], omx[4], omx[136]);
    		AstraZenecaTekniskAnalys = new TekniskAnalys (kurser[273], kurser[275], kurser[407], kurser[351], kurser[277], omx[4], omx[136]);
		
		//---------------------------------------------------------
		//Betavärde
		//---------------------------------------------------------
			
		// Skapa en plats betavärde.	
			String[] betavärde = new String [3];
      
		// Tilldela värden.			
			betavärde[0] = EricssonTekniskAnalys.hämtaBetavärde() + " Ericsson";
			betavärde[1] = ElectroluxTekniskAnalys.hämtaBetavärde() + " Electrolux";
			betavärde[2] = AstraZenecaTekniskAnalys.hämtaBetavärde() + " AstraZeneca";
		
		// Sortera
			Arrays.sort(betavärde);
		
		// Skapa en plats betavärde.
		// Ex: 1,3 Ericsson ska omvandlas till Ericsson 1,3.		
			String[] betavärdeAlt = new String [6];
			
			int iBetavärde = 0;
			
		// Betavärde 1
			StringTokenizer stBetavärde1 = new StringTokenizer(betavärde[2]);
			while (stBetavärde1.hasMoreTokens()) 
			{ 
				betavärdeAlt[iBetavärde] = (stBetavärde1.nextToken()); 
			 	iBetavärde++;
			} 
			 
		// Betavärde 2		
			StringTokenizer stBetavärde2 = new StringTokenizer(betavärde[1]);
			while (stBetavärde2.hasMoreTokens()) 
			{ 
			 	betavärdeAlt[iBetavärde] = (stBetavärde2.nextToken()); 
			 	iBetavärde++;
			}
			 
		// Betavärde 3			 
			StringTokenizer stBetavärde3 = new StringTokenizer(betavärde[0]);
			while (stBetavärde3.hasMoreTokens()) 
			{ 
				betavärdeAlt[iBetavärde] = (stBetavärde3.nextToken()); 
			 	iBetavärde++;
			}
		
		//---------------------------------------------------------		
		//Meny
		//---------------------------------------------------------
			BufferedReader inmatning;		
			inmatning = new BufferedReader(new InputStreamReader(System.in));
			
			int valAvAnalys = 0;
		
		// Stäng menyn när valAvAnalys är lika med 4	
			while (valAvAnalys !=4)
			{
		//	Skriv ut menyn		
				System.out.println ("Meny");
				System.out.println ("1. Fundamental Analys (Vid långsiktigt innehav)");
				System.out.println ("2. Teknisk Analys (Vid kortsiktigt innehav)");
				System.out.println ("3. Rangordning av aktier med avseende på betavärde");
				System.out.println ("4. Avsluta\n");
				System.out.println ("Vilket alternativ vill du välja?");	
				
		//	Läs in val	av analys
				valAvAnalys = Integer.parseInt(inmatning.readLine());
				System.out.println ("");
		
		// Gå till vald analys	
				switch (valAvAnalys)
				{
					case 1:		
					System.out.println ("En fundamental analys kan utföras på följande aktier:");
					System.out.println ("1." + fundamenta[1]);
					System.out.println ("2." + fundamenta[5]);
					System.out.println ("3." + fundamenta[9]);
					System.out.println ("Vilken aktie vill du göra fundamental analys på?\n");
		
		// Läs in val av aktie	
					int valAvAktieT = Integer.parseInt(inmatning.readLine());
					System.out.println ("");
		
		// Gå till val av aktie	
					switch (valAvAktieT)
					{
						case 1:
						System.out.println (EricssonFundamentalAnalys);
						break;
			
						case 2:
						System.out.println (ElectroluxFundamentalAnalys);
						break;
			
						case 3:
						System.out.println (AstraZenecaFundamentalAnalys);
						break;
			
						default:
					}
						
					break;
			
					case 2:
					System.out.println ("En teknisk analys kan utföras på följande aktier:");
					System.out.println ("1." + fundamenta[1]);
					System.out.println ("2." + fundamenta[5]);
					System.out.println ("3." + fundamenta[9]);
					System.out.println ("Vilken aktie vill du göra teknisk analys på?\n");
		
		// Läs in val av aktie	
					int valAvAktieF = Integer.parseInt(inmatning.readLine());
					System.out.println ("");
		
		// Gå till vald aktie	
					switch (valAvAktieF)
					{
						case 1:
						System.out.println (EricssonTekniskAnalys);
						break;
			
						case 2:
						System.out.println (ElectroluxTekniskAnalys);
						break;
			
						case 3:
						System.out.println (AstraZenecaTekniskAnalys);
						break;
			
						default: 
					}

					break;
			
					case 3:
					System.out.println ("Rangordning efter betavärde");
					System.out.println ("1. " + betavärdeAlt[1] + " " + betavärdeAlt[0]);
					System.out.println ("2. " + betavärdeAlt[3] + " " + betavärdeAlt[2]);	
					System.out.println ("3. " + betavärdeAlt[5] + " " + betavärdeAlt[4]);
					System.out.println ("");	
					break;
			
					case 4:
					break;
				 
					default:
			}
		}
	}
	}
 

abollm

Top Contributor
Eine Antwort auf die Schnelle:

Dein(e) Menü(s) kannst du auf jeden Fall z.B. in eine Methode auslagern.

Bestimmte Programmausgaben würde ich auch auslagern.
 
D

Destiny1985

Gast
Interessante Kommentare oO Welche Sprache ist das ? Lars...könnte was nordisches sein ?
 

KSG9|sebastian

Top Contributor
ich kan die schule verstehen^^ das ding besteht ja nur aus einer main methode!

erstell dir in der klasse nen konstrukto und trenne die aufgaben in methoden..z.b.

public void readTextFile() u.s.w. das mit dem static liegt daran, dass du die Methoden nicht statisch machen solltest (wenn du das ganze Ding in Klassen aufteilst)
 
L

LarsS

Gast
Kann mir jemand helfen. Ich glab das geht nur 5 min wenn man es kann ich habe schon den ganzen abend versucht.
 

mic_checker

Top Contributor
Na - was konntest du denn bisher ändern - also mit Hilfe des bisher geposteten ?

Kannst ja mal deinen aktuellen Code posten und sagen was du nicht verstehst....bzw. nicht verstehst wie du das weiteraufteilen sollst..
 
L

LarsS

Gast
Ich habe fats alles aufgeteilt aber dan kriege ich diese mitteilung
Aktieanalys.java:214: cannot find symbol
symbol : variable fundamenta
location: class Aktie
System.out.println ("1." + fundamenta[1]);
 
G

Gast

Gast
Ich mus die variabeln/metoden und auch arrays anrufen wie mache ich das?
 
L

LarsS

Gast
Es sieht jetzt so aus
import java.io.*;
import java.util.*;

class Aktieanalys
{
public static void main(String args[]) throws IOException
{

Aktie aktier = new Aktie();
aktier.FundamentalAnalysAvAktie();
aktier.TekniskAnalys();
aktier.hanteraMeny();
}

}
class Aktie
{
//Skapa tre FundamentalAnalys.
FundamentalAnalys EricssonFundamentalAnalys, ElectroluxFundamentalAnalys, AstraZenecaFundamentalAnalys;


public void FundamentalAnalysAvAktie()
{
// Skapa en plats fundamenta att spara inläsning i.
String[] fundamenta = new String [100];

// Öppna filen "fundamenta.txt" för läsning.
SimpleTextFileReader inFundamenta = new SimpleTextFileReader("fundamenta.txt");

String radFundamenta;
int iFundamenta = 0;

// Läs en rad i taget från filen och fortsätt så länge det finns
// rader kvar.
while ((radFundamenta = inFundamenta.readLine()) != null)
{
//Spara inläsning i fundamenta.
fundamenta[iFundamenta] = radFundamenta;
iFundamenta++;
}

// Stäng filen.
inFundamenta.close();


//Tilldela värden.
}

public void TekniskAnalys()
{
//Skapa en plats kurser att spara inläsning i.
String[] kurser = new String [1000];

// Öppna filen "kurser.txt" för läsning.
SimpleTextFileReader inKurser = new SimpleTextFileReader("kurser.txt");

String radKurser;
int iKurser = 0;

// Läs en rad i taget från filen och fortsätt så länge det finns
// rader kvar.
while ( (radKurser = inKurser.readLine()) != null)
{
// Ny rad efter varje mellanslag
StringTokenizer stKurser = new StringTokenizer(radKurser);

while (stKurser.hasMoreTokens())
{
// Spara inläsning i kurser.
kurser[iKurser] = stKurser.nextToken();
iKurser++;
}
}

// Stäng filen
inKurser.close();

//OMX
// Skapa en plats omx att spara inläsning i.
String[] omx = new String [1000];

// Öppna filen "omx.txt" för läsning.
SimpleTextFileReader inOmx = new SimpleTextFileReader("omx.txt");

String radOmx;
int iOmx = 0;

// Läs en rad i taget från filen och fortsätt så länge det finns
// rader kvar.
while ( (radOmx = inOmx.readLine()) != null)
{
// Ny rad efter varje mellanslag.
StringTokenizer stOmx = new StringTokenizer(radOmx);

while (stOmx.hasMoreTokens())
{
//Spara inläsning i omx.
omx[iOmx] = stOmx.nextToken();
iOmx++;
}
}

// Stäng filen
inOmx.close();

// Skapa tre TekniskAnalys objekt.
TekniskAnalys EricssonTekniskAnalys, ElectroluxTekniskAnalys, AstraZenecaTekniskAnalys;

// Tilldela värden.
EricssonTekniskAnalys = new TekniskAnalys (kurser[3], kurser[5], kurser[137], kurser[89], kurser[135], omx[4], omx[136]);
ElectroluxTekniskAnalys = new TekniskAnalys (kurser[138], kurser[140], kurser[272], kurser[234], kurser[170], omx[4], omx[136]);
AstraZenecaTekniskAnalys = new TekniskAnalys (kurser[273], kurser[275], kurser[407], kurser[351], kurser[277], omx[4], omx[136]);

// Skapa en plats betavärde.
String[] betavärde = new String [3];

// Tilldela värden.
betavärde[0] = EricssonTekniskAnalys.hämtaBetavärde() + " Ericsson";
betavärde[1] = ElectroluxTekniskAnalys.hämtaBetavärde() + " Electrolux";
betavärde[2] = AstraZenecaTekniskAnalys.hämtaBetavärde() + " AstraZeneca";

// Sortera
Arrays.sort(betavärde);

// Skapa en plats betavärde.
// Ex: 1,3 Ericsson ska omvandlas till Ericsson 1,3.
String[] betavärdeAlt = new String [6];

int iBetavärde = 0;

// Betavärde 1
StringTokenizer stBetavärde1 = new StringTokenizer(betavärde[2]);
while (stBetavärde1.hasMoreTokens())
{
betavärdeAlt[iBetavärde] = (stBetavärde1.nextToken());
iBetavärde++;
}

// Betavärde 2
StringTokenizer stBetavärde2 = new StringTokenizer(betavärde[1]);
while (stBetavärde2.hasMoreTokens())
{
betavärdeAlt[iBetavärde] = (stBetavärde2.nextToken());
iBetavärde++;
}

// Betavärde 3
StringTokenizer stBetavärde3 = new StringTokenizer(betavärde[0]);
while (stBetavärde3.hasMoreTokens())
{
betavärdeAlt[iBetavärde] = (stBetavärde3.nextToken());
iBetavärde++;
}
}

public void hanteraMeny()
{

BufferedReader inmatning;
inmatning = new BufferedReader(new InputStreamReader(System.in));

int valAvAnalys = 0;

// Stäng menyn när valAvAnalys är lika med 4
while (valAvAnalys !=4)
{
// Skriv ut menyn
System.out.println ("Meny");
System.out.println ("1. Fundamental Analys (Vid långsiktigt innehav)");
System.out.println ("2. Teknisk Analys (Vid kortsiktigt innehav)");
System.out.println ("3. Rangordning av aktier med avseende på betavärde");
System.out.println ("4. Avsluta\n");
System.out.println ("Vilket alternativ vill du välja?");

// Läs in val av analys
valAvAnalys = Integer.parseInt(inmatning.readLine());
System.out.println ("");

// Gå till vald analys
switch (valAvAnalys)
{
case 1:/** System.out.println ("En fundamental analys kan utföras på följande aktier:");
System.out.println ("1." + FundamentalAnalysAvAktie.fundamenta[1]);
System.out.println ("2." + fundamenta[5]);
System.out.println ("3." + fundamenta[9]);
System.out.println ("Vilken aktie vill du göra fundamental analys på?\n");

// Läs in val av aktie
int valAvAktieT = Integer.parseInt(inmatning.readLine());
System.out.println ("");
*/
// Gå till val av aktie
switch (valAvAktieT)
{
case 1:
System.out.println (FundamnetalAnalysAvAktie.EricssonFundamentalAnalys);
break;

case 2:
System.out.println (ElectroluxFundamentalAnalys);
break;

case 3:
System.out.println (AstraZenecaFundamentalAnalys);
break;

default:
}

break;

case 2:
System.out.println ("En teknisk analys kan utföras på följande aktier:");
System.out.println ("1." + fundamenta[1]);
System.out.println ("2." + fundamenta[5]);
System.out.println ("3." + fundamenta[9]);
System.out.println ("Vilken aktie vill du göra teknisk analys på?\n");

// Läs in val av aktie
int valAvAktieF = Integer.parseInt(inmatning.readLine());
System.out.println ("");

// Gå till vald aktie
switch (valAvAktieF)
{
case 1:
System.out.println (EricssonTekniskAnalys);
break;

case 2:
System.out.println (ElectroluxTekniskAnalys);
break;

case 3:
System.out.println (AstraZenecaTekniskAnalys);
break;

default:
}

break;

case 3:/**
System.out.println ("Rangordning efter betavärde");
System.out.println ("1. " + betavärdeAlt[1] + " " + betavärdeAlt[0]);
System.out.println ("2. " + betavärdeAlt[3] + " " + betavärdeAlt[2]);
System.out.println ("3. " + betavärdeAlt[5] + " " + betavärdeAlt[4]);
System.out.println (""); **/
break;

case 4:
break;

default:
}
}
}
}
 

mic_checker

Top Contributor
LarsS hat gesagt.:
Ich habe fats alles aufgeteilt aber dan kriege ich diese mitteilung
Aktieanalys.java:214: cannot find symbol
symbol : variable fundamenta
location: class Aktie
System.out.println ("1." + fundamenta[1]);

Du hast also schonmal ne andere Klasse "Aktie" ? Ok...steht in der denn die Variable "fundamenta" (also das Array) ? Wenn ich in deinen Originalsources nachlese, hast du dich schonmal nicht vertippt - das ist bei dieser Fehlermeldung das erste was ich kontrollieren würde.

Ich mus die variabeln/metoden und auch arrays anrufen wie mache ich das?
Ich geh mal davon aus du meinst aufrufen. Weiss jetzt nicht wie dein aktueller Source aussieht.....Poste doch einfach mal ....Oder spricht was dagegen?


Edit:
Ok, aber benutz doch bitte Code Tags. Das macht das ganze lesbarer.
 

mic_checker

Top Contributor
Also wie ich im letzten Post noch reineditiert habe:
1. Benutz bitte Code Tags.
2. In diesen Code-Tags -> rücke bitte deinen Code richtig ein

Somit kann man das ganze deutlicher besser lesen.

3) Methodennamen solltest du klein schreiben

Code:
 class Aktie
{
//Skapa tre FundamentalAnalys.
FundamentalAnalys EricssonFundamentalAnalys, ElectroluxFundamentalAnalys, AstraZenecaFundamentalAnalys;


public void FundamentalAnalysAvAktie()
{
// Skapa en plats fundamenta att spara inläsning i.
String[] fundamenta = new String [100];
-> Du deklarierst fundamenta in der Methode FundamentalAnalysAvAktie(), deshalb kann er es nicht in Aktie finden.

Btw. wo wir schon dabei sind:
4) Vielleicht solltest du die Methodennamen etc. etwas kürzer machen ;)
 
L

LarsS

Gast
Code:
   import java.io.*;
   import java.util.*;

   class Aktieanalys 
   {
       public static void main(String args[]) throws IOException 
      {
		
		Aktie aktier = new Aktie();
		aktier.FundamentalAnalysAvAktie();
		aktier.TekniskAnalys();
		aktier.hanteraMeny();				
		}
   
		}
		class Aktie
		{
		//Skapa tre FundamentalAnalys.	 
	      FundamentalAnalys EricssonFundamentalAnalys, ElectroluxFundamentalAnalys, AstraZenecaFundamentalAnalys;

				
		public void FundamentalAnalysAvAktie()
		{
		// Skapa en plats fundamenta att spara inläsning i.		
         String[] fundamenta = new String [100];
      	
      // Öppna filen "fundamenta.txt" för läsning.
         SimpleTextFileReader inFundamenta = new SimpleTextFileReader("fundamenta.txt");
      
         String radFundamenta;
         int iFundamenta = 0;
      
      // Läs en rad i taget från filen och fortsätt så länge det finns
      // rader kvar.		
         while ((radFundamenta = inFundamenta.readLine()) != null) 
         {
	  	//Spara inläsning i fundamenta.				
            fundamenta[iFundamenta] = radFundamenta;
           	iFundamenta++;
         }
      
      // Stäng filen.
         inFundamenta.close();
    
		      
		//Tilldela värden.
          		}		
	
		public void TekniskAnalys()
		{	 
		//Skapa en plats kurser att spara inläsning i.
         String[] kurser = new String [1000];
      	
      // Öppna filen "kurser.txt" för läsning.
         SimpleTextFileReader inKurser = new SimpleTextFileReader("kurser.txt");
      
         String radKurser;
         int iKurser = 0;
      
      // Läs en rad i taget från filen och fortsätt så länge det finns
      // rader kvar.		
         while ( (radKurser = inKurser.readLine()) != null) 
         {		
     	// Ny rad efter varje mellanslag
            StringTokenizer stKurser = new StringTokenizer(radKurser);
         
            while (stKurser.hasMoreTokens()) 
            { 
   	// Spara inläsning i kurser.		
               kurser[iKurser] = stKurser.nextToken();
               iKurser++;
            }
         }
         	
      // Stäng filen
         inKurser.close();

//OMX			
		// Skapa en plats omx att spara inläsning i.	
         String[] omx = new String [1000];
      	
      // Öppna filen "omx.txt" för läsning.
         SimpleTextFileReader inOmx = new SimpleTextFileReader("omx.txt");
      
         String radOmx;
         int iOmx = 0;
      
      // Läs en rad i taget från filen och fortsätt så länge det finns
      // rader kvar.		
         while ( (radOmx = inOmx.readLine()) != null) 
         {
      // Ny rad efter varje mellanslag.		
            StringTokenizer stOmx = new StringTokenizer(radOmx);
         
            while (stOmx.hasMoreTokens()) 
            {   
     	//Spara inläsning i omx.				
               omx[iOmx] = stOmx.nextToken();
               iOmx++;
            }
         }
      
      // Stäng filen
         inOmx.close();
      
		// Skapa tre TekniskAnalys objekt.     
         TekniskAnalys EricssonTekniskAnalys, ElectroluxTekniskAnalys, AstraZenecaTekniskAnalys;
      
		// Tilldela värden.
         EricssonTekniskAnalys = new TekniskAnalys (kurser[3], kurser[5], kurser[137], kurser[89], kurser[135], omx[4], omx[136]);
  			ElectroluxTekniskAnalys = new TekniskAnalys (kurser[138], kurser[140], kurser[272], kurser[234], kurser[170], omx[4], omx[136]);
    		AstraZenecaTekniskAnalys = new TekniskAnalys (kurser[273], kurser[275], kurser[407], kurser[351], kurser[277], omx[4], omx[136]);

		// Skapa en plats betavärde.	
			String[] betavärde = new String [3];
      
		// Tilldela värden.			
			betavärde[0] = EricssonTekniskAnalys.hämtaBetavärde() + " Ericsson";
			betavärde[1] = ElectroluxTekniskAnalys.hämtaBetavärde() + " Electrolux";
			betavärde[2] = AstraZenecaTekniskAnalys.hämtaBetavärde() + " AstraZeneca";
		
		// Sortera
			Arrays.sort(betavärde);
		
		// Skapa en plats betavärde.
		// Ex: 1,3 Ericsson ska omvandlas till Ericsson 1,3.		
			String[] betavärdeAlt = new String [6];
			
			int iBetavärde = 0;
			
		// Betavärde 1
			StringTokenizer stBetavärde1 = new StringTokenizer(betavärde[2]);
			while (stBetavärde1.hasMoreTokens()) 
			{ 
				betavärdeAlt[iBetavärde] = (stBetavärde1.nextToken()); 
			 	iBetavärde++;
			} 
			 
		// Betavärde 2		
			StringTokenizer stBetavärde2 = new StringTokenizer(betavärde[1]);
			while (stBetavärde2.hasMoreTokens()) 
			{ 
			 	betavärdeAlt[iBetavärde] = (stBetavärde2.nextToken()); 
			 	iBetavärde++;
			}
			 
		// Betavärde 3			 
			StringTokenizer stBetavärde3 = new StringTokenizer(betavärde[0]);
			while (stBetavärde3.hasMoreTokens()) 
			{ 
				betavärdeAlt[iBetavärde] = (stBetavärde3.nextToken()); 
			 	iBetavärde++;
			}
			}
		
			public void hanteraMeny()
			{		
		
			BufferedReader inmatning;		
			inmatning = new BufferedReader(new InputStreamReader(System.in));
			
			int valAvAnalys = 0;
		
		// Stäng menyn när valAvAnalys är lika med 4	
			while (valAvAnalys !=4)
			{
		//	Skriv ut menyn		
				System.out.println ("Meny");
				System.out.println ("1. Fundamental Analys (Vid långsiktigt innehav)");
				System.out.println ("2. Teknisk Analys (Vid kortsiktigt innehav)");
				System.out.println ("3. Rangordning av aktier med avseende på betavärde");
				System.out.println ("4. Avsluta\n");
				System.out.println ("Vilket alternativ vill du välja?");	
				
				//	Läs in val	av analys
				valAvAnalys = Integer.parseInt(inmatning.readLine());
				System.out.println ("");
		
		// Gå till vald analys	
				switch (valAvAnalys)
				{
					case 1: System.out.println ("En fundamental analys kan utföras på följande aktier:");
					System.out.println ("1." + fundamenta[1]);
					System.out.println ("2." + fundamenta[5]);
					System.out.println ("3." + fundamenta[9]);
					System.out.println ("Vilken aktie vill du göra fundamental analys på?\n");
		
				// Läs in val av aktie	
					int valAvAktieT = Integer.parseInt(inmatning.readLine());
					System.out.println ("");
				// Gå till val av aktie	
					switch (valAvAktieT)
					{
						case 1:
						System.out.println (EricssonFundamentalAnalys);
						break;
			
						case 2:
						System.out.println (ElectroluxFundamentalAnalys);
						break;
			
						case 3:
						System.out.println (AstraZenecaFundamentalAnalys);
						break;
			
						default:
					}
						
					break;
			
					case 2:
					System.out.println ("En teknisk analys kan utföras på följande aktier:");
					System.out.println ("1." + fundamenta[1]);
					System.out.println ("2." + fundamenta[5]);
					System.out.println ("3." + fundamenta[9]);
					System.out.println ("Vilken aktie vill du göra teknisk analys på?\n");
		
		// Läs in val av aktie	
					int valAvAktieF = Integer.parseInt(inmatning.readLine());
					System.out.println ("");
		
		// Gå till vald aktie	
					switch (valAvAktieF)
					{
						case 1:
						System.out.println (EricssonTekniskAnalys);
						break;
			
						case 2:
						System.out.println (ElectroluxTekniskAnalys);
						break;
			
						case 3:
						System.out.println (AstraZenecaTekniskAnalys);
						break;
			
						default: 
					}

					break;
			
					case 3:/**
					System.out.println ("Rangordning efter betavärde");
					System.out.println ("1. " + betavärdeAlt[1] + " " + betavärdeAlt[0]);
					System.out.println ("2. " + betavärdeAlt[3] + " " + betavärdeAlt[2]);	
					System.out.println ("3. " + betavärdeAlt[5] + " " + betavärdeAlt[4]);
					System.out.println ("");	**/
					break;
			
					case 4:
					break;
				 
					default:
			}
		}
		}
}
 
L

LarsS

Gast
Ich krieg
Aktieanalys.java:183: cannot find symbol
symbol : variable fundamenta
location: class Aktie
System.out.println ("1." + fundamenta[1]);
^
Aktieanalys.java:184: cannot find symbol
symbol : variable fundamenta
location: class Aktie
System.out.println ("2." + fundamenta[5]);
^
usv
 

mic_checker

Top Contributor
Hab ja schon geschrieben warum er das meldet. Siehe:

Code:
class Aktie 
{
...
      public void FundamentalAnalysAvAktie()
      {
      // Skapa en plats fundamenta att spara inläsning i.      
         String[] fundamenta = new String [100];

Hol doch die Deklaration aus der Methode raus und mach so was:

Code:
class Aktie
{
private String[] fundamenta = new String[100];
...
 public void FundamentalAnalysAvAktie()
      {
...

Hab den Rest noch nicht durchgelesen, denke aber nicht das dadurch Folgefehler auftreten...
 
G

Gast

Gast
Ich glaube ich habe es jetzt. Ich deklariere die sachen die ich brauch im class aktie nicht in der metode
danke schön
 

mic_checker

Top Contributor
Ja, siehe Code oben.

Beachte dennoch die Hinweise aus den Posts zuvor. Du solltest dir vielleicht angewöhnen die Methodennamen etc. kürzer zu machen und nicht groß zu schreiben.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Java Classen ordnen Java Basics - Anfänger-Themen 4
A Import anderer Classen aus anderen Projekten Java Basics - Anfänger-Themen 6
MiMa Aufteilen in Classen Java Basics - Anfänger-Themen 5
S Richtlinien wie man Classen in Packages organisieren soll? Java Basics - Anfänger-Themen 3
M zugang zu anderen classen und Jframes Java Basics - Anfänger-Themen 3
D arraydaten zwischen classen übertragen Java Basics - Anfänger-Themen 8
H2SO3- sichtbarkeit con classen und functionen Java Basics - Anfänger-Themen 8
H2SO3- weggabel für classen Java Basics - Anfänger-Themen 13
G interne classen extern benutzen Java Basics - Anfänger-Themen 14
W Auf mehrere Classen zugreifen Java Basics - Anfänger-Themen 5
Q Frage zu Classen und Objektenerzeugung Java Basics - Anfänger-Themen 4
M "Partial" classen Java Basics - Anfänger-Themen 25
J Notwendige Classen ins JAR packen? Java Basics - Anfänger-Themen 7
T classen auslagern Java Basics - Anfänger-Themen 16
H Zu langen String aufteilen - bequeme Methode? Java Basics - Anfänger-Themen 14
W String einer Textdatei in einzelne Stringobjekte pro Zeile aufteilen Java Basics - Anfänger-Themen 14
M Wie kann ich ein Array in zwei Hälften aufteilen? Java Basics - Anfänger-Themen 12
A Files aufteilen Java Basics - Anfänger-Themen 4
U Den Kuchen aufteilen - aber wie? (Rebalancing-Algorithmus) Java Basics - Anfänger-Themen 14
C Integer in Vierer-Zahlblöcke aufteilen Java Basics - Anfänger-Themen 11
Z Satz aufteilen und die Wörter zählen (HashMap) Java Basics - Anfänger-Themen 15
C Klassen objektorientiert aufteilen Java Basics - Anfänger-Themen 6
D OOP- Eine Klasse in mehrere Klassen aufteilen Java Basics - Anfänger-Themen 7
G String mit mehreren Attributen aufteilen Java Basics - Anfänger-Themen 6
CptK Variablen ArrayList aufteilen Java Basics - Anfänger-Themen 2
T Zahlen aufteilen Java Basics - Anfänger-Themen 2
R Frage: Aufteilen der GUI Java Basics - Anfänger-Themen 3
Z Threads Executor Framework - Aufgabe auf n Threads aufteilen Java Basics - Anfänger-Themen 10
F Methoden Java String aufteilen Java Basics - Anfänger-Themen 17
J Hochzahlen aufteilen Java Basics - Anfänger-Themen 3
N Input/Output .txt-Datei einlesen, aufteilen und seperat abspeichern Java Basics - Anfänger-Themen 3
D String in Integer Array aufteilen Java Basics - Anfänger-Themen 12
K arraylist zufällig aufteilen Java Basics - Anfänger-Themen 5
L Array aufteilen Java Basics - Anfänger-Themen 3
L Matrizen aufteilen Java Basics - Anfänger-Themen 3
L Array aufteilen Java Basics - Anfänger-Themen 13
D Java Download in mehrere Parts aufteilen Java Basics - Anfänger-Themen 2
D 100.0% gleichmäßig aufteilen, so dass Summe 100.0% sind, nicht 99,9% oder 100,1% Java Basics - Anfänger-Themen 3
H String/StringBuffer nach zeilen aufteilen Java Basics - Anfänger-Themen 2
M Programm in zwei Klassen aufteilen? Java Basics - Anfänger-Themen 8
M Betrag in Münzen aufteilen Java Basics - Anfänger-Themen 15
M Sekunden aufteilen Java Basics - Anfänger-Themen 5
S Nach Namen sortieren und diese in 3 Gruppen aufteilen Java Basics - Anfänger-Themen 16
K String aufteilen Java Basics - Anfänger-Themen 11

Ähnliche Java Themen

Neue Themen


Oben