我的代码出了什么问题?基本上,有一个菜单,用户选择一个数字。在他们选择" 1"之后,他们可以转到第二个方法readData并选择另一个数字。如果他们选择" 2"它就有效;但是,如果他们选择" 3" (bestSeller方法),我得到异常错误。
答案 0 :(得分:1)
在方法Read_Data(...)
中,您在执行操作之前增加c
(使用0
初始化的值)的值。您必须在while-loop
:
while ((text = readFile.readLine()) != null){
// ... your stuff
// ...
c += 1; // At the end
}
修改强>
在方法displayData(...)
中,您的for
初始化和条件值是错误的。尝试更改此行
for (int i = 1; i <= dc; i++) {
到
for (int i = 0; i < dc; i++) {
编辑2:
在bestSeller(...)
方法中,您将j
从0
迭代到100
(数组长度)。这会导致异常,您可能希望使用实际读取的数据。
for (int j = 0; j < sortC - 1; j++) {
for (int k = j + 1; k < sortC; k++) {
对于选项3(bestSeller),我得到了这些变化,预期输出(修改.txt
中的音量值后)
POP Beatles8 Let It Be 18.0
POP Beatles7 Let It Be 17.0
POP Beatles6 Let It Be 16.0
POP Beatles5 Let It Be 15.0
POP Beatles1 Let It Be 13.0
POP Beatles2 Let It Be 12.0
POP Beatles3 Let It Be 11.0
POP Beatles4 Let It Be 10.0