java - Java 中的数组和输出

标签 java arrays

所以我正在尝试编写一个程序来自动制作操作订单(或 OPORD)。这非常简单,但我的数组遇到了一些问题,更具体地说,如何让它们在输出中正确显示。 这是我的代码:

import java.util.*;
import java.util.Scanner;
public class opord {
    public static void main(String[] args){

    //Variables
    int opord_type, phase_a = 0, n = 1, tasks = 0, phase_b = 0, phase_c = 0;
    //Strings for paragraph 1
    String area_interest = " ", area_ops = " ", enemy_forces = " ", weather = " ", terrain = " ", friendly_forces = " ", civil_consid = " ", attach_detach = " "; 
    //Strings for paragraph 2
    String who = " ", what = " ", where = " ", when = " ", why = " ";
    //Strings for paragraph 3
    String commander_intent = " ", phases;
    Scanner keyboard = new Scanner(System.in);
    //Array Lists
    ArrayList alist = new ArrayList();
    ArrayList blist = new ArrayList();
    ArrayList clist = new ArrayList();
    //Page One

    System.out.println("Welcome to Automated OPORD");
    System.out.println("Please choose which type of OPORD you want: (1:Garrison, 2:Tactical)");

    opord_type = keyboard.nextInt();
    if(opord_type == 1){
        //Page Two
        System.out.println("Paragraph One: ");
        System.out.println("Situation: ");
        //Indent One
        System.out.println("Enter area of interest: ");
        area_interest = keyboard.next();
        System.out.println("Enter area of operations: ");
        area_ops = keyboard.next();
        //Indent Two
        System.out.println("Enter weather: ");
        weather = keyboard.next();
        System.out.println("Enter terrain: ");
        terrain = keyboard.next();
        //End Indent Two
        System.out.println("Enter enemy forces: ");
        enemy_forces = keyboard.next();
        System.out.println("Enter friendly forces: ");
        friendly_forces = keyboard.next();
        System.out.println("Enter civil considerations: ");
        civil_consid = keyboard.next();
        System.out.println("Enter attachments and detachments: ");
        attach_detach = keyboard.next();
        //End Indent One

        //Page Three
        System.out.println("Paragraph Two: ");
        System.out.println("Mission");
        //Indent One
        System.out.println("Enter who: ");
        who = keyboard.next();
        System.out.println("Enter what: ");
        what = keyboard.next();
        System.out.println("Enter where: ");
        where = keyboard.next();
        System.out.println("Enter when: ");
        when = keyboard.next();
        System.out.println("Enter why: ");
        why = keyboard.next();
        //End Intent One

        //Page Four
        System.out.println("Paragraph Three: ");
        System.out.println("Execution: ");
        //Indent One
        System.out.println("Enter commander's intent: ");
        commander_intent = keyboard.next();
        System.out.println("Concept of Operations");
        //Indent Two
        System.out.println("Enter number of phases: ");
        phase_a = keyboard.nextInt();
        for (int ph=0; ph<phase_a; ph++) { 
            System.out.println ("Enter phase " + (ph+1)); 
            alist.add (keyboard.next()); 
        }//End Indent Two
        System.out.println("Scheme of Movement and Maneuver");
        //Indent Three
        System.out.println("Enter number of phases: ");
        phase_b = keyboard.nextInt();
        for (int p=0; p<phase_b; p++) { 
            System.out.println ("Enter phase " + (p+1)); 
            blist.add (keyboard.next());
        }//End Indent Three
        System.out.println("Task to Subordinate Units");
        //Indent Four
        System.out.println("Enter number of tasks: ");
        tasks = keyboard.nextInt();
        for (int h=0; h<phase_b; h++) { 
            System.out.println ("Enter task " + (h+1)); 
            clist.add (keyboard.next());
        }
    }else if(opord_type == 2){



    }
    //Output for Garrison
    System.out.println("Output for Garrison");
    for (int ph=0; ph<phase_a; ph++){
        System.out.println("Phase " + n++ + ": " + alist.get(ph));
    }
    for (int p=0; p<phase_b; p++){
        System.out.println("Phase " + n++ + ": " + blist.get(p));
    }
    for (int h=0; h<phase_c; h++){
        System.out.println("Phase " + n++ + ": " + clist.get(h));
    }

    //Output for Tactical




    }
}

我需要阶段和任务的输出如下所示:

Concept of Operations: 
Phase One: Here is some text that the user input
Phase Two: Here is some text that the user input
Phase Three: Here is some text that the user input
Phase (whatever the number the user input): Here is some text that the user input

Scheme of Movement and Maneuver:
Phase One: Here is some text that the user input
Phase Two: Here is some text that the user input
Phase Three: Here is some text that the user input
Phase (whatever the number the user input): Here is some text that the user input

Task to Subordinate Units:
Task One: Here is some text that the user input
Task Two: Here is some text that the user input
Task Three: Here is some text that the user input
Task (whatever the number the user input): Here is some text that the user input

战术主要是通过一些更改来反射(reflect)的,所以不用担心,我只需要修复此代码即可。我只需要完成这段代码,任何帮助都会很棒!

谢谢!

最佳答案

如果我理解正确的话,这是一个关于如何在 Java 应用程序的控制台输出中创建换行符的问题。

这个字符是“\n”。当您想要换行时,将其放入打印命令中。

   //Page Three
    System.out.println("\nParagraph Two: ");
    System.out.println("Mission");
    etc...

此外,查看您的预期输出(我不知道这是否重要),但如果您希望用户输入位于文本字符串旁边,而不是下面,请使用 System.out.print (不带ln在最后)

.println 会在完成常规打印操作后进行换行

关于java - Java 中的数组和输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21895681/

相关文章:

java - LibGDX SpriteBatch渲染错误

arrays - 矢量字符串替换为 Julia

python - 在 Python 中提取列表中 N 维数组的元素

c - 在C中为结构中的数组分配顺序内存地址

javascript - Array 的 console.log 在 IE 10,11 中返回 function item() { [native code] }

java - 在 Mac 上运行 Java 批处理文件

java - 如何在jna中获取指向结构体数组的指针

java - 如何使用JavaDSL保持 Camel 上的路由运行?

java - Tomcat 连接池中的基本问题

python - 比较两个数组并显示匹配项的总和