|
working out wrong average
hello, i want to work out an average of different books' ratings , but my code is working out the wrong average, also i want to group the ratings that are for the same book (if they are entered more than once).
--------------------------------------------------------
import java.util.Scanner;
public class bookReview4
{
public void readBookTitles(String [] bookTitles)
{
}
public void readRatings(String [] bookTitles)
{ int count=0;
double sum=0;
int arrayposition;
int book=0;
// double average;
int rating=0;
//String [] bookTitles;
int numberofbooks=count+1;
double [] ratingSum= new double [numberofbooks];
Scanner keyboard = new Scanner(System.in);
while(rating<bookTitles.length)
{
System.out.println("please put rating for "+bookTitles[rating]);
ratingSum[count]= keyboard.nextInt();
//sum+=ratingSum[count];
// =rating;
rating++;
//count++;
}
for (rating= 0; rating<bookTitles.length; rating++)
{
sum += ratingSum[count];
}
double average=sum/3;
//average =
System.out.println("average is "+ average);
// for(int i=0 ;bookTitle[rating]=bookTitle[i]; i++)
// {
//
// System.out.println("average for"+bookTitle[i]+ "is ");
// }
//Give user ratings
if (average >=0 && average<1)
{
System.out.println("No rating ");
System.out.println();
}
else if (average >=1 && average<2)
{
System.out.println("Waste Paper ");
System.out.println();
}
else if (average >=2 && average<3)
{
System.out.println("Dissappointing ");
System.out.println();
}
else if (average >=3 && average<4)
{
System.out.println("A good read ");
System.out.println();
}
else if (average >=4 && average<5)
{
System.out.println("Excellent book ");
System.out.println();
}
else if (average >=5)
{
System.out.println("A must read! ");
System.out.println();
}
}
}
|