debugging 是否可以在main方法之外使用Scanner,并且仍然调用它?

irtuqstp  于 2023-11-22  发布在  其他
关注(0)|答案(1)|浏览(116)

所以我想做的是用我的scanner方法去保存用户在for循环中输入的内容,但是我怎么调用他们输入的特定类型呢?我的意思是,假设用户在输入1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20中放置is作为问题方法和答案方法的输入。在主方法中,或者任何方法,我怎么能调用输入10,或者12。

package com.ez.ez;
import java.util.Scanner;
public class ReWrittingBetterCode{
        public static void Questions(){
        for (int i = 1; i <= 10; i++) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("Enter a question "+i+"/10");
        String firstQuestion = scanner.nextLine();
        }
    }
    public static void Answer() {
        for (int i = 1; i <= 10; i++) {
        Scanner scanner = new Scanner(System.in); 
        System.out.println("Enter a answer "+i+"/10");
        String answerAnswer = scanner.nextLine();
        }

    }

    public static void main (String[] args) {
        Questions();
        Answer();

    } 
}

字符串

gijlo24d

gijlo24d1#

你需要分配一个数组来保存问题。然后当你提示答案时,你可以重复问题。为了与你的循环保持一致,你应该有一个名为noq的变量来表示问题的数量,当你使用for循环时,在任何地方都使用它。

static int noq = 10;
static String[] questions = new String[noq];
static Scanner scanner = new Scanner(System.in);

public static void main(String[] args) {
    Questions();
    Answer();

}

public static void Questions() {
    for (int i = 1; i <= noq; i++) {
        System.out.println("Enter a question " + i + "/" + noq);
        String firstQuestion = scanner.nextLine();
        questions[i - 1] = firstQuestion;
    }
}

public static void Answer() {
    for (int i = 1; i <= noq; i++) {
        System.out.println(questions[i - 1]);
        Scanner scanner = new Scanner(System.in);
        System.out.println("Enter a answer " + i + "/" + noq);
        String answerAnswer = scanner.nextLine();
    }
}

字符串
你也应该避免在任何地方使用static。我不得不这样做以简化示例。查看Java Tutorials以获得更多关于Java编程的信息,重点是数组和static关键字的使用。

相关问题