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):
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:
}
}
}
}