2015-02-03 1 views
-2

나는 프로그램을 반복 할 때마다 파일에 저장하려고 노력하고있다. 현재 내가 가지고있는 :Java : 변수 저장 문제

import java.io.*; 
import java.lang.System; 
import java.util.Scanner; 

public class writing { 



    public static void main(String[] args){ 
     Scanner input = new Scanner(System.in); 
     Scanner input1 = new Scanner(System.in); 

     String FileName = input.next(); 
     String x = input.next(); 

     for(int i=0; i<'x'; i++){ 

      System.out.println("Question"); 
      String MainQ = input1.nextLine(); 
      System.out.println("Option 1: "); 
      String Op1 = input1.nextLine(); 
      System.out.println("Option 2: "); 
      String Op2 = input1.nextLine(); 
      System.out.println("Option 3: "); 
      String Op3 = input1.nextLine(); 
      System.out.println("Correct Answer (Option Number:) "); 
      String An1 = input1.next(); 

      System.out.println("Quesiton 1:"+ MainQ); 
      System.out.println(""+ Op1); 
      System.out.println(""+ Op2); 
      System.out.println(""+ Op3); 
      String UAn1 = input1.next(); 
      if (UAn1 == An1){ 
       System.out.println("Incorrect");  
       System.out.println("Answer is: " + An1); 
      }else{ 
       System.out.println("Correct"); 

      } 

      try{ 

       FileWriter fw = new FileWriter(FileName + ".txt"); 
       PrintWriter pw = new PrintWriter(fw); 

       pw.println(MainQ); 
       pw.println(Op1); 
       pw.println(Op2); 
       pw.println(Op3); 
       pw.println(An1); 

       pw.close(); 

      } catch (IOException e){ 
       System.out.println("Error!"); 
      } 

     } 
    } 
} 

오류 메시지가 아니므로, 좋은 질문입니다. 텍스트 파일이 다음과 같이 반복 될 때마다 프로그램을 반복하고 싶습니다.

... 등등. 그러나이 작동하는 방식은 지금은이처럼 오는 마지막 입력

를 기록 당신이 내부 FileWriter를 만드는 것처럼

3 
3 
3 
3 
+3

정확히 무엇이 문제입니까? 모든 예외/오류 메시지를 포함하십시오. – ryanyuyu

+0

오류 메시지가 아닙니다. 잘못된 질문에 대해 사과드립니다. (질문 1) * 질문 예 * (옵션 1) * 옵션 예 * .... (질문 2 : 나는 이런 식으로 나올 수있는 프로그램이 텍스트 파일 루프를 모든 시간을 싶습니다) * 질문 예 * (옵션 1) * 옵션 예 * 등등. 그러나 현재 작동하고있는 방식으로 마지막 입력 만 기록합니다. – Deadliestrat

+0

음,'filename'이 항상 같은 변수라면, 같은 파일이 항상 생성 될 것입니다. 무엇을해야합니까? – kolossus

답변

2

(필자는 세 번째 질문 및 옵션 번호 3을 사용하여 상상) for 루프는 항상 내용을 덮어 쓰므로 마지막 내용 만 유지합니다. 당신은 for 문 앞에 선

 FileWriter fw = new FileWriter(FileName + ".txt"); 
     PrintWriter pw = new PrintWriter(fw); 

이동 (및 accoringly/catch 블록을 시도)해야한다.