Java for循环和类定义
嘿,我是java的新手,所以请容忍我:) 我有对象v1、v2、v3,每个对象都包含足球运动员统计数据的详细信息Java for循环和类定义,java,class,loops,definition,mutators,Java,Class,Loops,Definition,Mutators,嘿,我是java的新手,所以请容忍我:) 我有对象v1、v2、v3,每个对象都包含足球运动员统计数据的详细信息 int LessThan25 = 0; for (int i = 0; i < topscorer.size(); i++) { while (v**[i]**.getGoals() < 25) { LessThan25++; } } int-LessT
int LessThan25 = 0;
for (int i = 0; i < topscorer.size(); i++)
{
while (v**[i]**.getGoals() < 25)
{
LessThan25++;
}
}
int-LessThan25=0;
对于(int i=0;i
我的问题是如何使这个循环工作?我希望能够将for循环中的整数用于whilev循环,该循环链接到我的类定义。(黑体部分)
感谢您的帮助:)使用“if”条件而不是“while”,我想这就是您想要的。使用增强的
for
循环-如果使用Java 5+,这是一个更好的习惯用法。变量名应按约定以小写开头
for(Player player : players) {
if(player.getGoals < 25)
lowerThan25Goals++;
}
for(玩家:玩家){
如果(player.getGoals<25)
低于25个目标++;
}
我现在明白你的意思了,你可以这样做来访问每个topScorer对象:
for(int x=0; x<topScorer.size(); x++) //iterate through all elements in topScorer
if(topScorer.get(x).getGoals() < 25)
lessThan25++;
或者: 当然,增强的for循环(对于每个循环也有效):
for(Scorer s:topScorer)//Scorer是列表中的对象类型
如果(s.getGoals()<25)
lessThan25++;
用户3437460的答案就是你想要的
for(Scorer s : topScorer)
if(s.getGoals() < 25)
lessThan25++;
for(记分员s:上记分员)
如果(s.getGoals()<25)
lessThan25++;
一个球员的例子会很好,
似
玩家克洛纳尔多=新玩家(年龄、体型、平均进球数(总进球数))
球员lMessi=新球员(年龄、身高、平均进球数(总进球数))
请看一下你的while循环
while (topScorer[i].getGoals() < 25)
{
LessThan25++;
}
while(topScorer[i].getGoals()<25)
{
LessThan25++;
}
这是一个无限循环。因为如果你达到了一个顶级得分者,也就是v[i]的进球数少于“25”个,你就永远不会停止这个循环,你的计数器也会少于25个,从而打破你ALU的极限;)
(小写变量!)
可能是错误,或者您提供的代码丢失。
因此,作为Java的“新手”,您只需知道。如果您使用的是Java 8,使用流API只需一行代码即可轻松解决此问题:
long lessThan25 = topScorer.stream()
.filter(element -> element.getGoals() < 25).count();
long lessThan25=topScorer.stream()
.filter(element->element.getGoals()<25.count();
此外,使用JVM流可以提高后台性能。什么是topscorer
?@DonD您可以显示更多代码吗?例如,在这里声明topScorer
和v
。ArrayListtopscorer=new ArrayList()的选择错误;播放器v1=新播放器(br.read(),br.readLine(),br.readLine(),br.readLine(),br.read(),br.readLine(),br.readLine(),br.readLine());上取芯器添加(v1);这是什么黑魔法:v**[i]**。你能清楚地解释一下你到底想达到什么目的吗?这就是我想要的。非常感谢你。祝福你buddy@DonD欢迎你可以点击我答案旁边的空格来接受我的答案。你可以得到2个代表积分作为回报。
while (topScorer[i].getGoals() < 25)
{
LessThan25++;
}
long lessThan25 = topScorer.stream()
.filter(element -> element.getGoals() < 25).count();