在数组字符串中输入用户输入并增加字符串数组输入

时间:2017-04-26 10:14:45

标签: java arrays string

我是Java的新手,我正在尝试编写一个简单的程序,询问主题名称并计算总数和平均值,问题是我想将用户输入作为String数组并打印用户输入的主题名称

这是我的程序我只是在这里编写数组输入问题:

public class SimpleSamples {

    public static void main(String[] args) {

        Scanner userInput = new Scanner(System.in);
        String[] subjects = new String[5];

        int subjectCount = 0;

        String subjectsName;

        if(subjectCount <= 5)
        {
            subjectsName = userInput.nextLine();
            subjects[subjectCount] = subjectsName;
            subjectCount+=1;
        }
    }
}

但它只打印一个主题和程序停止,它根本不会增加数组元素(要输入的主题)。

3 个答案:

答案 0 :(得分:2)

 if(subjectCount <= 5){
  ...
  }

执行一次。它应该是一个循环,如果您要5 4 5subjectCount开始执行0,则应将 while(subjectCount <= 4){ ... } 替换为for (int subjectCount=0; subjectCount<subjects.length; subjectCount++){ subjects[subjectCount] = userInput.nextLine(); }

from robot.libraries.BuiltIn import BuiltIn
from robot.output.logger import LOGGER
import types

def _nothing(*args, **kwargs):
    pass

def disable_keyword_logging(self):
    self._logging_methods = (LOGGER.start_keyword, LOGGER.end_keyword)
    LOGGER.start_keyword = types.MethodType(_nothing,LOGGER)
    LOGGER.end_keyword = types.MethodType(_nothing,LOGGER)

def enable_keyword_logging(self):
    LOGGER.start_keyword, LOGGER.end_keyword = self._logging_methods

或更简单和可读使用循环,因为迭代计数是已知的:

Disable keyword logging
Log    Hello world
Enable keyword logging

答案 1 :(得分:2)

您正在使用if条件,它只是检查条件,如果true表示执行代码。这就是它只执行一次的原因。

这里你应该使用像while,for这样的循环。并且始终以 0 开始数组索引,因此将条件更改为

while(subjectCount < 5)

打印5次。

更新了代码

public class SimpleSamples {

public static void main(String[] args) {

    Scanner userInput = new Scanner(System.in);
    String[] subjects = new String[5];

    int subjectCount = 0;

    String subjectsName;

    while(subjectCount < 5)
    {
        subjectsName = userInput.nextLine();
        subjects[subjectCount] = subjectsName;
        subjectCount+=1;
    }


}
}

答案 2 :(得分:0)

进行以下修改

public class SimpleSamples {

    public static void main(String[] args) {

        Scanner userInput = new Scanner(System.in);
        String[] subjects = new String[5];

        int subjectCount = 0;

        String subjectsName;

for(int i=0;i<subjects.size();i++){
 if(subjectCount <= 5)
        {
            subjectsName = userInput.nextLine();
            subjects[subjectCount] = subjectsName;
            subjectCount+=1;
        }
}

    }
}