import java.util.Scanner;
public class a4
{
public static void main(String args[])
{
int Faculty[]=new int[4];
int Student[]=new int[4];
Scanner sc=new Scanner(System.in);
int index=0, f=0, s=0;
System.out.println("Welcome to the Pickelball tournament");
System.out.println("There can be only one winner per game. Wnner score is max 11. Scoring starts from 0. ");
do
{
System.out.println("Game# " + (index+1));
System.out.println("Enter the scores for faculty: ");
f=sc.nextInt();
//
System.out.println("Enter the scores for student: ");
s=sc.nextInt();
if((f==11) && (s==11))
{
System.out.println("Only one team may score 11; try again.");
}
else if(((f<11) && (s<11)) || ((f>11) && (s>11)) || ((f<0) && (s<0)))
{
System.out.println("One team must score 11 to proceed.");
}
else
{
Faculty[index]=f;
Student[index]=s;
index++;
}
}while(index<4);
for (int i=0;i<4;i++)
{
System.out.print("\t\tGame# " + i);
}
System.out.print("\nFaculty score \n\t\t");
for (int i=0;i<4;i++)
{
System.out.print(Faculty[i] + "\t\t");
}
System.out.print("\nStudent score \n\t\t");
for (int i=0;i<4;i++)
{
System.out.print(Student[i] + "\t\t");
}
int winningPercent=0;
for(int i=0; i<4; i++)
{
if(Faculty[i]==11)
{
Faculty[i]=1;
Faculty[i]++;
}
winningPercent= ((Faculty[i]/4)*100);
}
System.out.println("\n\nFaculty won " + winningPercent + "% of their matches");
}
}
У меня проблемы с тем, чтобы выяснить логи c о том, как заставить мой код распечатывать нужные мне проценты. Например, если 11 вводится один раз, то я бы хотел, чтобы на нем отображалось, что шансы факультета на победу составляют 25%; если он вводится дважды, то до 50%. Я не уверен, как исправить мои логики c в последней части моего кода, потому что я думал, что из того, что я написал, если Faculty[i]==11
, то он будет повторно инициализирован в 1, а затем добавлю 1 на основе if Faculty [i] было 11, затем возьмите значение 1-4 и разделите его на 4, чтобы получить процент (0, 25, 50, 75 или 100). То, что я пробовал, - это переместить мое выражение Winning в свой оператор if, но это обычно дает мне 0% или 200%. Мой код сейчас делает то, что если 11 вводится один или два раза, он увеличивается до 100%, что является неточным.