• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Używkownik sam wprowadza nazwe pliku tekstowego, gdzie ma nastąpić zapis. JAVA

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
0 głosów
250 wizyt
pytanie zadane 20 października 2015 w Java przez Hinaru Początkujący (310 p.)
zamknięte 26 października 2015 przez Hinaru

Witam.
Może najpierw pokaże kod programu, a potem napiszę o co chodzi:
 

import java.util.Scanner;
import java.util.ArrayList;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;

public class dodaj throws FileNotFoundException
{
String tresc;
int nr_pytania;
String a,b,c,d;
String poprawna;


void Dodaj()
{
System.out.println("Podaj tresc pytania:");
Scanner odtresc = new Scanner(System.in);
tresc = odtresc.nextLine();
PrintWriter zapis = new PrintWriter(CHODZI O TO MIEJSCE);
zapis.println(tresc);
zapis.close();
}
}

Jak widać jestem w trakcie pisania metody, która dodaje pytania.
Wszystko, co napisze używkownik w tej metodzie ma być zapisane do pliku.
I tu pojawia się problem, bo to użytkownik poda nazwe pliku w głównym programie.
Dodatkowo metoda będzie używana w pętli więc ta nazwa może się zmienić... no i nie wiem jak to zrobić ;c
Proszę o pomoc.

komentarz zamknięcia: Problem rozwiązany

2 odpowiedzi

+3 głosów
odpowiedź 20 października 2015 przez Dorion300 Szeryf (90,250 p.)
wybrane 26 października 2015 przez Hinaru
 
Najlepsza
"Dodaj" będzie przyjmowała parametr path o typie string, to jest zmienna która przechowuje informacje gdzie ma być dopisane.
komentarz 20 października 2015 przez Hinaru Początkujący (310 p.)
Nie do końca rozumiem.
Jestem początkujący.
Fajnie by było jak bys mi to jakoś w kodzie pokazał ;)
komentarz 21 października 2015 przez iwan9449 Pasjonat (20,810 p.)

Kolega bardzo dobrze Ci podpowiedział. chodzi o to, żebyć zmienną typu String, w której zapiszesz w programie głównym ścieżkę do pliku przekazał jako parametr do  funkcji Dodaj.

void Dodaj(String path)  {
     System.out.println("Podaj tresc pytania:");
     Scanner odtresc = new Scanner(System.in);
     tresc = odtresc.nextLine();
     PrintWriter zapis = new PrintWriter(path);
     zapis.println(tresc);
     zapis.close();
}

Jeśli dalej coś jest nie jasne to pisz ;)

komentarz 21 października 2015 przez Hinaru Początkujący (310 p.)

Hmmm, mały problem z kompilacją.

Tak wygląda głównu kod programu (do testów):
 

import java.util.Scanner;
import java.util.ArrayList;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;

public class protest
{
 public static void main(String args[])         
 { 
String nazwa;
System.out.println("Jak sie ma nazywac program?");
Scanner odnazwa = new Scanner(System.in);
nazwa = odnazwa.nextLine();

dodaj  pytanie = new dodaj();
dodaj.pytanie(nazwa);
 
 
 }
 }

 

A tak kod klasy dodaj:
 

import java.util.Scanner;
import java.util.ArrayList;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;

public class dodaj 
{
String tresc;
int nr_pytania;
String a,b,c,d;
String poprawna;


void pytanie(String path) throws FileNotFoundException
{
System.out.println("Podaj tresc pytania:");
Scanner odtresc = new Scanner(System.in);
tresc = odtresc.nextLine();
PrintWriter zapis = new PrintWriter(path);
zapis.println(tresc);
zapis.close();

System.out.println("Podaj tresc odpowiedzi a:");
Scanner oda = new Scanner(System.in);
a = oda.nextLine();
PrintWriter zapis = new PrintWriter(path);
zapis.println(a);
zapis.close();

System.out.println("Podaj tresc odpowiedzi b:");
Scanner odb = new Scanner(System.in);
b = odb.nextLine();
PrintWriter zapis = new PrintWriter(path);
zapis.println(b);
zapis.close();

System.out.println("Podaj tresc odpowiedzi c:");
Scanner odc = new Scanner(System.in);
c = odc.nextLine();
PrintWriter zapis = new PrintWriter(path);
zapis.println(c);
zapis.close();

System.out.println("Podaj tresc odpowiedzi d:");
Scanner odd = new Scanner(System.in);
d = odd.nextLine();
PrintWriter zapis = new PrintWriter(path);
zapis.println(d);
zapis.close();

System.out.println("Ktora odpowiedz jest poprawna? a,b,c,d?");
Scanner odpoprawna = new Scanner(System.in);
poprawna = odpoprawna.nextLine();
PrintWriter zapis = new PrintWriter(path);
zapis.println(poprawna);
zapis.close();
}
}

 

I taki błąd przy kompilacji:
 

komentarz 21 października 2015 przez Dorion300 Szeryf (90,250 p.)
zainteresuj się klasą File - http://docs.oracle.com/javase/7/docs/api/java/io/File.html ona pozwala na łatwą operacje na plikach
0 głosów
odpowiedź 20 października 2015 przez Ehlert Ekspert (215,010 p.)

Korzystałem kiedyś z obiektu File bardzo przydatny. Ponado to pomoże Ci ten temat.

Podobne pytania

0 głosów
3 odpowiedzi 1,822 wizyt
0 głosów
1 odpowiedź 901 wizyt
0 głosów
1 odpowiedź 359 wizyt

93,433 zapytań

142,428 odpowiedzi

322,661 komentarzy

62,796 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

...