import java.io.*;
import java.lang.System;
import java.util.Scanner;
public class Writingclean{
public static void main(String args[]){
Scanner input = new Scanner(System.in);
try{
System.out.println("File Name:");
String FileName = input.next();
FileWriter fw = new FileWriter( FileName + ".txt");
PrintWriter pw = new PrintWriter(fw);
System.out.println("How many questions do you want?");
String y = input.next();
int NumberofQuestions = Integer.parseInt(y);
int QuestionCounter = 1;
int x = 0;
while(x < NumberofQuestions){
System.out.println("Question " + QuestionCounter + ":"); String Question = input.nextLine();
System.out.println("Option 1:"); String Op1 = input.nextLine();
System.out.println("Option 2:"); String Op2 = input.nextLine();
System.out.println("Option 3:"); String Op3 = input.nextLine();
System.out.println("Correct Answer (Option Number):"); String An1 = input.nextLine();
pw.println(Question);
pw.println(Op1);
pw.println(Op2);
pw.println(Op3);
pw.println(An1);
x++;
QuestionCounter++;
}
pw.close();
}catch (IOException e){
System.out.println("Invalid File Name!");
}
}
}
我目前正在开发一个学习类型的应用程序并遇到过这个问题:
我想要它,以便用户可以选择他们想要的问题,因此while语句(如果有更好的方法,请告诉我)。但是,在while语句之后,consle似乎跳过了'input.nextLine();'。意思是没有选择的问题。
有什么方法可以解决这个问题吗?
输出如下:
档案名称: 示例 你想要几个问题? 示例 问题1: 选项1:
答案 0 :(得分:0)
您可以使用BufferedReader而不是扫描仪类 语法如下
BufferedReader input=new BufferedReader(new InputStreamReader(System.in));
String x=input.readLine();
确保导入java.io.BufferedReader和java.io.InputStreamReader类。 还处理IOException。
答案 1 :(得分:0)
似乎修复它的方法是使所有输入都以相同的方式。意味着所有字符串都等于:
input.nextLine();
而不是某些
input.next();