只有一个变量的多个循环

multiple loops with only one variable

所以我超级卡住了..我正在执行我的 toString() 方法,它需要显示一个条形图,其中包含与成绩数量相关的星星。例如

如果 5 个 A、3 个 B、3 个 C、2 个 D、1 个 F,它应该是什么样子,

*****A

***B

***C

**D

*F

我的老师给了我一个开始,但除了连接给出的单个变量之外,我不知道该怎么做。请记住,我还在学习,还没有学习其他方法,例如字符串构建或数组

public class GradeDistribution {
private int mNumberAs;
private int mNumberBs;
private int mNumberCs;
private int mNumberDs;
private int mNumberFs;

public GradeDistribution(int numberOfAs, int numberOfBs,
                            int numberOfCs, int numberOfDs,
                            int numberOfFs)
{
    mNumberAs = numberOfAs;
    mNumberBs = numberOfBs;
    mNumberCs = numberOfCs;
    mNumberDs = numberOfDs;
    mNumberFs = numberOfFs;

}

public GradeDistribution()
    {
        mNumberAs = 0;
        mNumberBs = 0;
        mNumberCs = 0;
        mNumberDs = 0;
        mNumberFs = 0;
    }
public void setAllGrades(int A,int B, int C, int D, int F)
{
    mNumberAs = A;
    mNumberBs = B;
    mNumberCs = C;
    mNumberDs = D;
    mNumberFs = F;
}
public void setNumberAs( int A)
{
    mNumberAs = A;
}
public void setNumberBs(int B)
{
    mNumberBs = B;
}
public void setNumberCs(int C)
{
    mNumberCs = C;
}
public void setNumberDs(int D)
{
    mNumberDs = D;
}
public void setNumberFs(int F)
{
        mNumberFs = F;
}
public int getNumberOfGrades()
{
    return mNumberAs + mNumberBs + mNumberCs + mNumberDs + mNumberFs;
}
public int getPercentAs()
{   double totalGrade = mNumberAs + mNumberBs + mNumberCs + mNumberDs + mNumberFs;
    double averageAs = (mNumberAs / totalGrade * 100);
    return (int)averageAs;
}
public int getPercentBs()
{
    double totalGrade =  mNumberAs + mNumberBs + mNumberCs + mNumberDs +      mNumberFs;
    double averageBs = (mNumberBs / totalGrade * 100);
    return (int)averageBs;
}
public int getPercentCs()
{
    double totalGrade =  mNumberAs + mNumberBs + mNumberCs + mNumberDs + mNumberFs;
    double averageCs = (mNumberCs / totalGrade * 100);
    return (int) averageCs;
}
public int getPercentDs()
{
    double totalGrade =  mNumberAs + mNumberBs + mNumberCs + mNumberDs + mNumberFs;
    double averageDs = (mNumberDs / totalGrade * 100);
    return (int) averageDs;
}
public int getPercentFs()
{
    double totalGrade =  mNumberAs + mNumberBs + mNumberCs + mNumberDs +     mNumberFs;
    double averageFs = (mNumberFs / totalGrade * 100);
    return (int)averageFs;
}
public String toString()
{
    String output = "";
    for(int a = 1; a <= mNumberAs; a++)
    {

}
}
}

在您的 for 循环中,您正在迭代给定的 As 数量。因此,您可以在迭代时将 * 附加到您的字符串。 output = output + "*"; 循环完成后,附加一个 A 和一个新行 \n,然后对 Bs、Cs 等执行相同的操作:

String output = "";
for(int a = 1; a <= mNumberAs; a++) {
    output = output + "*";
}

output = output + "A\n";

// do the same for the number of Bs, Cs, etc