• 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

Object Storage Arubacloud
0 głosów
196 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 (212,790 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,505 wizyt
0 głosów
1 odpowiedź 535 wizyt
0 głosów
1 odpowiedź 319 wizyt

92,624 zapytań

141,482 odpowiedzi

319,822 komentarzy

62,005 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...