Задание, над которым я работаю, просит меня изменить программу с гистограммой, которую они мне предоставили. До сих пор я думаю, что у меня все правильно, хотя в нем указано, что «если игрок набрал 48 очков, тогда отображаются четыре звездочки». Тем не менее, мой код отображает пять звездочек, когда игрок набрал 48 очков. Как сделать так, чтобы на нем отображались только 4 звездочки? Мой инструктор упомянул использование целочисленного деления в моем для l oop, которое я использовал, но это не сработало.
import java.util.Scanner;
public class BarChart2 {
public static void main (String[] args) {
Scanner input = new Scanner(System.in);
int artPoints;
int bobPoints;
int calPoints;
int danPoints;
int eliPoints;
final int AMT_EACH_ASTERISK = 10;
System.out.println("Enter points earned for the season");
System.out.print(" by Art >> ");
artPoints = input.nextInt();
System.out.print(" by Bob >> ");
bobPoints = input.nextInt();
System.out.print(" by Cal >> ");
calPoints = input.nextInt();
System.out.print(" by Dan >> ");
danPoints = input.nextInt();
System.out.print(" by Eli >> ");
eliPoints = input.nextInt();
System.out.println("\nPoints for Season (each asterisk represents " +
AMT_EACH_ASTERISK + " points)\n");
drawChart("Art", artPoints, AMT_EACH_ASTERISK);
drawChart("Bob", bobPoints, AMT_EACH_ASTERISK);
drawChart("Cal", calPoints, AMT_EACH_ASTERISK);
drawChart("Dan", danPoints, AMT_EACH_ASTERISK);
drawChart("Eli", eliPoints, AMT_EACH_ASTERISK);
}
public static void drawChart(String name, int points, int amt_each) { // Main issue here
System.out.print(name + ": ");
int numAsterisks = points / amt_each;
for(numAsterisks = 0; numAsterisks < points; numAsterisks += amt_each)
System.out.print("*");
System.out.println();
}
}