내가 가지고 있는 것은 사용자의 이름, 성, 지난 달 일일 퀴즈 질문에 올바르게 대답한 횟수가 포함된 Excel 스프레드시트입니다. 내가 하고 싶은 것은 추첨 시스템을 기반으로 우승자를 선택하는 것입니다. 여기서 사용자는 정답을 맞힌 모든 질문에 대해 하나의 응모권을 받습니다. Java로 할 수 있는 방법이 있는데 가능하다면 Excel로 하고 싶습니다. 설명하는 데 도움이 되는 Java 코드는 다음과 같습니다.
public static void main(String[] args) throws FileNotFoundException {
File file = new File("TriviaParticipantsList.txt");
Scanner scanner = new Scanner(file);
int x = 0;
int j = 0;
int i = 0;
while(scanner.hasNextLine())
{
String line = scanner.nextLine();
Scanner scan = new Scanner(line);
i = scan.nextInt();
String name = scan.nextLine();
if(line.charAt(0)==0)
{
//do nothing if no questions were answered
}
else
{
for(j=0; j<i; j++)
{
System.out.print(j+x); //Print out "ticket number"
System.out.println(" " + name); //Print out owner name of ticket
}
}
x=x+i;
}
scanner.close();
System.out.println(x); //Verify correct number of entries
int winner = (int) (Math.random()*x); //Select random number based on number of entries
System.out.println(winner); //Display value, look through list to find who number belongs to!
}
어떤 도움이라도 대단히 감사하겠습니다!
답변1
나는 ("나는 그것을 시도하지 않았다"에서와 같이) 난수에 대한 조회와 결합된 정답의 누적 합계가 트릭을 수행할 수 있다고 상상할 수 있습니다.
Name | Correct | Sum
P1 3 3
P2 2 5
P3 4 9
임의의 숫자가 있는 셀을 만들고 재계산을 실행하는 버튼을 만들거나 임의의 숫자에 대한 수식 등으로 셀을 채우도록 할 수도 있습니다.
그런 다음 예를 들어 숫자 4를 그린 경우 "P2"를 반환하는 조회를 수행할 수 있어야 합니다. 편집: 조회 기능에 대한 도움말을 확인하여 올바른 값을 반환하는 방법을 확인하세요. 원하는 대로 작동할 수 있다고 믿습니다. 그렇지 않으면 도우미 열을 사용하여 이 문제를 해결해야 할 수도 있습니다.
물론 난수는 1부터 누적 합계의 최대값까지 실행되어야 합니다.
어떻게 든 도움이되기를 바랍니다 ;-)