【问题标题】:Cannot find symbol - method readInt(java.lang.String) [duplicate]找不到符号 - 方法 readInt(java.lang.String) [重复]
【发布时间】:2016-05-24 06:57:02
【问题描述】:

我正在做一项小型学校作业,其中我想办法对 3 Cannot find symbol - method readInt(java.lang.String)。

我已经向我的老师寻求帮助和帮助,但他唯一做的就是告诉我我必须编写一个小程序和面板,但这不是我打算完成这项任务的方式。

代码(我用的是 BlueJ):

import java.io.*;
import java.util.*;
import java.io.Console;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
import java.util.ArrayList;
import java.io.DataInputStream;
import java.io.DataOutputStream;
/**
 * Made by me
 */

public class Bubblesort
{
    private int[] a;

    public Bubblesort(int howLong) 
    {
        a = new int[howLong];
        if (howLong < 3 || howLong > 16) 
        {
            System.out.print("The length of the Array must be 3<N<16");
        }
        else 
        {
            for(int i = 0; i < a.length; i++) 
            {
                a[i] = Console.readInt("Add a value to the Array: ");
                System.out.print(a[i] + " ");
            }
            System.out.println();
        }
    }

    public void printList() 
    {
        for(int i = 0; i < a.length; i++) 
        {
            System.out.print(a[i] + " ");
        }
        System.out.println();
    }

    public void swap(int begin, int end) 
    {
        int r = -1;             
        int s = -1;

        int x;        
        int y;

        int ax;        
        int ay;

        for(int i = (end-begin); i > ((end-begin)/2); i--) 
        {
            x = begin + s;  
            y = end + r;  

            ax = a[x];      
            ay = a[y];      

            a[x] = ay;           
            a[y] = ax;

            r--;                
            s++;                

        }

        printList();
    }

    public void sort() 
    {
        printList();
        int k = a.length;
        for(int i = 1; i < a.length; i++) 
        {
            int gr = 0;
            for(int j = 1; j < k; j++) 
            {
                if(a[j] > a[gr]) 
                {
                    gr = j;
                }
            }
            swap((gr + 1), k);
            k--;
        }
    }
}

我知道我可能添加了很多不必要的导入,但我已经过了不知道我应该做什么的地步......

错误在这一行:

for(int i = 0; i < a.length; i++)       
{
    a[i] = Console.readInt("Add a value to the Array: ");
    System.out.print(a[i] + " ");
}

我很确定这里的某个人知道解决此问题的方法,或者知道如何使用不同的代码来完成与我想到的相同的事情。

提前谢谢 ;)

【问题讨论】:

标签: java bluej


【解决方案1】:

Console 类没有readInt 方法。

它有一个名为readLine()readLine(String fmt, Object... args)的方法。

要实现您的目标,您可以执行以下操作:

System.out.println("Add a value to the Array: ");
a[i] = Integer.parseInt(Console.readLine());

或者您也可以参考this的答案以使用Scanner

【讨论】:

    猜你喜欢
    • 2016-02-04
    • 1970-01-01
    • 1970-01-01
    • 2019-05-31
    • 1970-01-01
    • 2011-08-12
    • 1970-01-01
    • 2020-10-19
    • 2018-05-13
    相关资源
    最近更新 更多