August 8, 2003
Jag behöver en så otroligt stor hjälp med ett par enkla uppgifter, hoppas någon av er kan ge mig den hjälpen 🙂
Jag går en kurs i Programmering B, Java, och det finns en del uppgifter som jag inte vet hur jag ska lösa:
1. "Skriv ett kassaboks program som låter andvändaren mata in utgiftsposter och kostnader. Låt programmet spara informationen om transaktionerna i en fil."
Exempel på hur uppgift ett kan se ut(Andvändaren matar in saldo, posten och kostnaden):
Ingående saldo: 10000
Ange utgiftspost: bio
Ange kostnad: 85
Saldo: 9915
Vill du mata in fler uppgifter? (j/n) j
Ange utgiftspost: fika
ange kostnad: 35
Saldo: 9880
Vill du mata in fler uppgifter? (j/n) n
---------------------------------------------------------
2. Skriv ett program som läser av och skriver ut din kassaboksfil frånmföregående uppgift. (uppgift 1)
--------------------------------------------------------------
3."Skriv ett program som kopierar innehållet från en textfil till en annan. Låt den nya filen få namnet kopia.txt"
----------------------------------------------------------------------------
4. Vektorer och listor:
Skriv ett glosprogram, som ska andvändas för att skriva in och testa glosor. Andvänd en vektor för att lagra glosorna. För att kunna köra programmet vid flera tillfällen utan att behöva mata in glosorna igen ska dessa kunna sparas på fil. Låt programmet presentera en meny med följande innehåll:
1. Mata in ny svensk-engelsk gloslista
2. Glostest
3. Skriv ut ordlista
4. Spara ordlista i fil
5. Hämta ordlista från fil
6. Avsluta
Jag skulle bli otroligt lycklig om ni kunde hjälpa mig med någon av dessa fyra uppgifter. 😀
December 12, 2003
Hej
Följande kod kan vara en sätt att lösa det på till uppgift 1:
import java.util.*;
public class Driver
{
public static void main(String[] arg)
{
String again = "j";
StringBuffer record = new StringBuffer();
System.out.println("-----------------");
System.out.print("Ingående saldo: ");
int inSaldo = KeyBoardReader.getInt();
record.append("Ingående Saldo: " + inSaldo + "n");
while(again.equals("j"))
{
System.out.print("Ange utskriftpost: ");
String utgiftpost = KeyBoardReader.getString();
record.append("Utskriftpost: " + utgiftpost + "n");
System.out.print("Ange kostnad: ");
int kostnad = KeyBoardReader.getInt();
record.append("Kostnad: " + kostnad + "n");
inSaldo = inSaldo - kostnad;
System.out.println("Saldo: " + inSaldo);
record.append("Saldo: " + inSaldo);
System.out.print("Vill du mata in fler uppgifter(j/n) ");
again = KeyBoardReader.getString();
//Spara hela StringBuffer till fil
File.write(record);
}
}
}
import java.io.*;
import java.util.*;
public class File
{
public static void write(StringBuffer input)
{
try
{
FileWriter fw = new FileWriter("data.dat");
BufferedWriter bw = new BufferedWriter(fw);
PrintWriter outFile = new PrintWriter(bw);
outFile.print(input);
outFile.close();
}
catch(IOException ioe)
{
System.out.println("Error: " + ioe.getMessage());
}
}
}
import java.io.*;
public class KeyBoardReader
{
public static int getInt()
{
int answer = 0;
try
{
BufferedReader console = new BufferedReader(new InputStreamReader(System.in));
answer = Integer.parseInt(console.readLine());
}
catch(IOException ioe)
{
System.out.println("Error: " + ioe.getMessage());
}
return answer;
}
public static String getString()
{
String answer = "";
try
{
BufferedReader console = new BufferedReader(new InputStreamReader(System.in));
answer = console.readLine();
}
catch(IOException ioe)
{
System.out.println("Error: " + ioe.getMessage());
}
return answer;
}
}
December 12, 2003
Fråga 2 är ganska så lätt.
Bara att läsa in vad som står i filen
Skapa te.x metoden readAll() och anropa den när du vill skriva ut allt som står i filen
public static String readAll()
{
String answer = "";
try
{
FileReader fr = new FileReader("data.dat");
BufferedReader inFile = new BufferedReader(fr);
String line = inFile.readLine();
while(line != null)
{
answer = answer + line + "n";
line = inFile.readLine(); //Måste gå vidare så vi inte får en evighetsloop
}
}
catch(IOException ioe)
{
System.out.println("Error: " + ioe.getMessage());
}
return answer;
}
Nu har du fått hjälp med de 2 första, resten är enkla dom med.
Jag tror säkert du fixar det på egen hand.
[Image Can Not Be Found]
1 Guest(s)