我是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;
}
}
}
但它只打印一个主题和程序停止,它根本不会增加数组元素(要输入的主题)。
答案 0 :(得分:2)
if(subjectCount <= 5){
...
}
执行一次。它应该是一个循环,如果您要5
4
5
从subjectCount
开始执行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;
}
}
}
}