关闭。这个问题需要细节或清晰。它目前不接受答案。
**想改进这个问题吗?**通过编辑这个帖子来添加细节并澄清问题。
22天前关门了。
改进这个问题
我想让java代码,如果一个国家已经有5个团队,他们不能创建更多的团队。
例如:
用户输入国家名称asd,然后输入团队名称等,用户再输入4次。
第六次当用户输入asd country name时,它将返回一个错误,但是如果用户输入另一个国家名称,他们可以创建另一个团队。
我试过用 arrayList.size()
但我还是没能成功。
这是我的密码
import java.util.*;
public class Main {
Scanner sc = new Scanner(System.in);
ArrayList<Team> teams = new ArrayList<>();
public Main() {
int choose = 0;
do {
choose = displayMenu(); sc.nextLine();
switch (choose) {
case 1:
createTeam();
break;
case 2:
addMatch();
break;
case 3:
showStat();
break;
case 4:
showRank();
break;
case 5:
eraseTeam();
break;
}
} while (choose != 6);
}
private void createTeam() {
String country, teamName, coachName, participantName;
System.out.print("Enter Country Name : ");
country = sc.nextLine();
do {
System.out.print("Enter Team Name : ");
teamName = sc.nextLine();
participantName = getParticipantName();
System.out.println("Enter Coach Name : ");
coachName = sc.nextLine();
Team team = new Team(country, teamName, coachName, participantName);
teams.add(team);
} while (teams.size()>=5);
}
对不起,我英语不好。先谢谢你
3条答案
按热度按时间gdx19jrr1#
这是代码应该执行的操作的简化版本。我看到您在将方法的结果传递回createteam函数时遇到了问题,因此请阅读布尔方法或任何其他类型的返回结果的方法。此外,您还需要阅读有关将参数引入方法的内容,以便可以将计算所需的重要值传递到方法中,供方法使用
string countries=“country1 country1 country1 country1 country2 country4”;
l7wslrjt2#
你能告诉我这个代码对你有什么用吗?
乍一看,我认为问题可能就在这条线上
如果我理解正确,这个循环将继续,而大小至少是5,这不是在开始。
也许试着把它调成
编辑:从注解部分添加代码
将此添加到主类名称下
Map<String, List<Team>> countryTeams = new HashMap<String, List<Team>>();
有关详细信息,请在此处阅读hashmap:https://www.w3schools.com/java/java_hashmap.asp在代码中使用hashmap将团队与国家进行匹配
private void createteam(){string country,teamname,coachname,participantname;system.out.print(“输入国家名称:”);country=sc.nextline();countryteams.put(country,new arraylist());while(countryteams.get(country.size()<5){system.out.print(“输入团队名称:”);teamname=sc.nextline();participantname=getparticipantname();system.out.println(“输入coach名称:”);coachname=sc.nextline();team team=新团队(country,teamname,coachname,participantname);countryteams.get(country).add(团队);
} }
mrphzbgm3#
所以我认为你的问题是你在使用>=。如果您输入5个团队,条件仍然为真,因为团队的大小为5且5>=5。如果你用<它会有用的。我也是
while (teams.size() < 5)
而不是while (teams.size()>=5)
这个。