Help with simple percentage problem
Hello again :)
I have to make a program that accepts three names, their roll numbers and percentages then prints out in the following fashion , along with rank(sorted by percentage):
Roll noName PercentageRank
1BLA991
3BLAA 952
2ABC87 3
This is my code, but my output is not correct, i dont know why:
import java.io.*;
publicclass Percentage
{
publicvoid display()throws IOException
{
InputStreamReader isr =new InputStreamReader(System.in);
BufferedReader br =new BufferedReader(isr);
String name[]=new String[3];
int roll[]=newint[3];
int percent[]=newint[3];
int rank[]=newint[3];
for (int i=0;i<name.length;i++)
{
System.out.println("Enter name");
name[i]=br.readLine();
System.out.println("Enter roll number");
roll[i]=Integer.parseInt(br.readLine());
System.out.println("Enter percentage");
percent[i]=Integer.parseInt(br.readLine());
}
sort(roll,percent,name);
print(roll,percent,name);
}
privatevoid sort(int roll[],int percent[],String name[])
{
for (int i=1;i<percent.length-1;i++)
{
for (int j=i+1;j<percent.length;j++)
{
if (percent[i]>percent[j])//change to roll[i]>roll[j] to sort by roll number. Current sorting by percentage
{
int temp=roll[i];
roll[i]=roll[j];
roll[j]=temp;
String tempo=name[i];
name[i]=name[j];
name[j]=tempo;
int temp1=percent[i];
percent[i]=percent[j];
percent[j]=temp1;
}
}
}
}
privatevoid print(int roll[],int percent[],String name[])
{
System.out.println("Roll Number\tName\tPercentage\tRank");
for (int i=0;i<name.length;i++)
{
System.out.println(roll[i]+"\t"+name[i]+"\t"+percent[i]+"\t"+(i+1));
}
}
}
>

