Java for 循环和 class 定义
Java for loop and class definition
嘿,我在 java 还很新,所以请多多包涵 :)
我有对象 v1、v2、v3,每个对象都包含足球运动员统计数据的详细信息
int LessThan25 = 0;
for (int i = 0; i < topscorer.size(); i++)
{
while (v**[i]**.getGoals() < 25)
{
LessThan25++;
}
}
我的问题是如何使这个循环工作?我希望能够将 for 循环中的整数用于我的 while v 循环,它链接到我的 class 定义。 (粗体部分)
感谢帮助:)
使用 'if' 条件而不是 'while',我想这就是你要找的。
使用增强的 for
循环 - 如果使用 Java 5+ 则更好。
按照惯例,变量名称应以小写字母开头。
for(Player player : players) {
if(player.getGoals < 25)
lowerThan25Goals++;
}
我现在明白你的意思了,你可以这样做来访问 each topScorer 对象:
for(int x=0; x<topScorer.size(); x++) //iterate through all elements in topScorer
if(topScorer.get(x).getGoals() < 25)
lessThan25++;
访问 ArrayList 中的元素的语法是:
list.get(x) where x is the element you wanted to access (starts from 0)
或者:
当然,增强的 for 循环(for each loop 也有效):
for(Scorer s : topScorer) //Scorer is the object type in your list
if(s.getGoals() < 25)
lessThan25++;
user3437460的答案就是您要找的
for(Scorer s : topScorer)
if(s.getGoals() < 25)
lessThan25++;
一个玩家的例子会很好,
……喜欢
Player cRonaldo = new Player(age, size, avgGoals, (total)goals);
Player lMessi = new Player(age, size, avgGoals, (total)goals);
请看一下你的 while 循环
while (topScorer[i].getGoals() < 25)
{
LessThan25++;
}
这是一个无限循环。因为如果你达到了 topScorer aka v [i] 的目标少于“25”的程度,你永远不会停止循环,而你的计数器 LessThan25 打破你的 ALU 的极限 ;)
(小写变量!)
可能是错误,或者缺少您提供的代码。
所以只为你,从 'new' 到 Java,要知道。
如果您正在使用 Java 8,您可以使用 Stream API 轻松解决此问题,只需一行 代码:
long lessThan25 = topScorer.stream()
.filter(element -> element.getGoals() < 25).count();
此外,使用 Streams JVM 可以提高后台性能。
嘿,我在 java 还很新,所以请多多包涵 :)
我有对象 v1、v2、v3,每个对象都包含足球运动员统计数据的详细信息
int LessThan25 = 0;
for (int i = 0; i < topscorer.size(); i++)
{
while (v**[i]**.getGoals() < 25)
{
LessThan25++;
}
}
我的问题是如何使这个循环工作?我希望能够将 for 循环中的整数用于我的 while v 循环,它链接到我的 class 定义。 (粗体部分)
感谢帮助:)
使用 'if' 条件而不是 'while',我想这就是你要找的。
使用增强的 for
循环 - 如果使用 Java 5+ 则更好。
按照惯例,变量名称应以小写字母开头。
for(Player player : players) {
if(player.getGoals < 25)
lowerThan25Goals++;
}
我现在明白你的意思了,你可以这样做来访问 each topScorer 对象:
for(int x=0; x<topScorer.size(); x++) //iterate through all elements in topScorer
if(topScorer.get(x).getGoals() < 25)
lessThan25++;
访问 ArrayList 中的元素的语法是:
list.get(x) where x is the element you wanted to access (starts from 0)
或者:
当然,增强的 for 循环(for each loop 也有效):
for(Scorer s : topScorer) //Scorer is the object type in your list
if(s.getGoals() < 25)
lessThan25++;
user3437460的答案就是您要找的
for(Scorer s : topScorer)
if(s.getGoals() < 25)
lessThan25++;
一个玩家的例子会很好, ……喜欢
Player cRonaldo = new Player(age, size, avgGoals, (total)goals);
Player lMessi = new Player(age, size, avgGoals, (total)goals);
请看一下你的 while 循环
while (topScorer[i].getGoals() < 25)
{
LessThan25++;
}
这是一个无限循环。因为如果你达到了 topScorer aka v [i] 的目标少于“25”的程度,你永远不会停止循环,而你的计数器 LessThan25 打破你的 ALU 的极限 ;) (小写变量!)
可能是错误,或者缺少您提供的代码。 所以只为你,从 'new' 到 Java,要知道。
如果您正在使用 Java 8,您可以使用 Stream API 轻松解决此问题,只需一行 代码:
long lessThan25 = topScorer.stream()
.filter(element -> element.getGoals() < 25).count();
此外,使用 Streams JVM 可以提高后台性能。