Normal ué, a única diferença é que o scanf , você deve usar o Scanner.
N
Nivaldo_Reis2018
S
staroski2 likes
Não mesmo, há uma grande diferença no código dele para um código Java:
Ele passa ponteiros de int para a função loop e altera eles dentro da função.
Isso não é possível no Java, pois Java não passa parâmetros por referência e sim por cópia da referência.
Então ele tem que modificar a implementação utilizando um objeto como parâmetro ou modificar o retorno do loop para retornar as alterações.
Exemplo:
importjava.io.PrintStream;importjava.util.Scanner;publicclassPrograma{publicstaticvoidmain(String[]args){try{Programaprograma=newPrograma();programa.executar();}catch(Throwablet){t.printStackTrace();}}privatefinalScannerentrada=newScanner(System.in);privatefinalPrintStreamsaida=System.out;classJogadores{publicintnando;publicintdunga;}privatevoidexecutar(){intn=Integer.parseInt(entrada.nextLine());Jogadoresjogadores=newJogadores();loop(n,jogadores);if(jogadores.dunga>jogadores.nando){saida.printf("Vencedor: Dunga\n");saida.printf("%d Pontos de Vantagem\n",jogadores.dunga-jogadores.nando);}elseif(jogadores.nando>jogadores.dunga){saida.printf("Vencedor: Nando\n");saida.printf("%d Pontos de Vantagem\n",jogadores.nando-jogadores.dunga);}else{saida.printf("Empate\n");}}voidloop(intn,Jogadoresjogadores){if(n==0){return;}intunity=n%10;if(unity%2==0){jogadores.dunga+=unity;}else{jogadores.nando+=unity;}loop(n/10,jogadores);}}