我是一名初学者程序员,我正在申请一些练习。
您输入预算,然后添加费用(名称,金额) 它会减去并告诉您当前的预算。
我想做到这一点,以便您可以在每次执行后看到所有费用。
我尝试过创建存储支出名称的循环,然后打印它们。 但是我做错了:/。
对不起,我的英语不好,我来自克罗地亚!
这是一些入门的丑陋代码。
int length = 0;
String[] listOfNames = new String[length];
boolean active = true;
int budget = 0;
Scanner input = new Scanner(System.in); //user input
System.out.println("Enter current budget in HRK");
int enteredAmount = input.nextInt(); //user input for budget
budget = enteredAmount;
while(active)
{
System.out.println("Current budget is " + budget + " HRK");
System.out.println("Enter expense name and amount");
System.out.println("Name: ");
String name = input.next(); //name of expense
for(int i=0; i<listOfNames.length;i++){ //adds entered expense names to array
listOfNames[i] = name;
length++;
}
System.out.println("Amount: ");
int enteredAmount1 = input.nextInt();
budget -= enteredAmount1; // subtracts the budget from the users input
System.out.println("Expense: " + name + ", Amount: " + enteredAmount1); // prints final result
for(int j=0; j<listOfNames.length; j++) // prints stored strings in array
{
System.out.println(listOfNames[j]);
}
}
} }
答案 0 :(得分:0)
您将listOfNames
的长度从零开始。
int length = 0;
String[] listOfNames = new String[length];
这就是为什么for循环永远不会运行的原因。
此外,在Java中无法更改数组的大小。 为了存储可变数量的输入,我建议使用ArrayList,可以调整其大小。
ArrayList<String> listOfNames = new ArrayList<String>();
向listOfNames
添加内容:
String name = input.next();
listOfNames.add(name);
ArrayList的缺点是它的效率不如数组,但这对您的程序而言并不重要。
这里是documentation和另一个helpful website,用于ArrayList。