java - 向后打印数组 - 不打印最后一个条目! - java

标签 java arrays string java.util.scanner

我正在尝试创建一个字符串恢复程序,在其中输入字符串并将它们存储在数组中 - 数组完成后,它会向后打印内容 -如果用户输入退出,程序将停止并向后打印,而不将退出存储在数组中

但是我的代码没有打印最后一个条目,我不确定为什么?

import java.util.*;
import java.io.*;

class StringRevert {

    public static void main(String[] args) {

        String buffer[];
        Scanner scan = new Scanner(System.in);
        System.out.println("Enter Size: ");
        int num = scan.nextInt();

        buffer = new String[num];

        String read = scan.nextLine();
        for(int i=0; i<buffer.length; i++) {
            if(read.equals("quit")) {
                break;
            } else {
                buffer[i] = read;
            }
            read = scan.nextLine();
        }

        for(int k=buffer.length -1; k>=0; k--) {
            System.out.println(buffer[k]);
        }
    }
}

最佳答案

将 for 循环替换为:

String read = null;
for(int i=0; i<buffer.length; i++) {
    read = scan.nextLine();
    if(read.equals("quit")) {
        break;
    } else {
        buffer[i] = read;
    }
}

您想在循环的开头而不是末尾读取新行。

关于java - 向后打印数组 - 不打印最后一个条目! - java ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30143153/

相关文章:

php - 正则表达式和 PHP - 从 img 标签中分离出 src 属性

java - ListView滚动时的内存分配

java - 使用 Gradle/Java8 构建时存储某些类的方法参数名称

java - 在文本文件中添加 double 的代码? java

javascript - 无法遍历我的数组/对象。 Javascript, native react

JavaScript:循环遍历字符串, 'for' 表现异常

java - 线程中出现异常 "main"java.lang.OutOfMemoryError : unable to create new native thread

sql - 如何在 Snowflake 中将字符串拆分为字符?

javascript - Lodash _.sortByOrder 数字字符串

Java:替换多个字符串占位符的最快方法