Java: входные строки с классом клавиатуры - PullRequest
0 голосов
/ 02 сентября 2011

Я пытаюсь ввести информацию в консольное приложение Java, но не могу запустить его.

Вот так выглядит мой файл Java:


public class Ovning1_3 
{

     public static void main(String args[])
     {

         String name;
         System.out.println("Enter your name");
         name = Keyboard.readString();
         System.out.println(name);      
    }

}

Но я получаю ошибку:

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
Keyboard cannot be resolved
at Ovning1_3.main(Ovning1_3.java:9)

У меня есть файл keyboard.class в моей исходной папке.Я использую Eclipse с Ubuntu.

Ответы [ 5 ]

2 голосов
/ 02 сентября 2011
Unresolved compilation problem:  

означает, что код не может быть скомпилирован.

Вы должны импортировать Keyboard, что-то вроде

import uitl.Keyboard

Когда вы используете классы из другого пакета (не то же самое)пакет текущего класса), вы должны импортировать класс.Если класс также находится в том же пакете, вам не нужно импортировать.

Классы обычно группируются в Пакеты .
Откуда вы знаете пакет?Перейти к первому, как в классе.Это должно быть что-то вроде package xyz, означающее, что текущий класс в пакете xyz.Тогда класс будет находиться в папке с именем xyz (это правило для пакетов: если вы хотите, чтобы в пакете был класс, скажем abc.xyz, тогда класс должен иметь объявление пакета - первая строка кода- быть пакетом abc.xyz, а файл должен находиться в папке xyz, которая затем должна находиться в папке abc.

1 голос
/ 02 сентября 2011

попробуйте

try{

BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));
        System.out.println("Enter your Number :");
        String  number=buf.readLine();
        System.out.println("your Number is :"+number);


 }catch(IOException ex){} 
0 голосов
/ 16 июня 2015

Вам нужно использовать import java.util.Scanner; для первой строки и использовать коды сканера вместо «клавиатуры», вы получите тот же результат с клавиатурой.Попробуйте как показано ниже.

 import java.util.Scanner;
 public class Hello {

 public static void main(String[] args) {
    String name;
    System.out.print("enter your name:");
    Scanner input = new Scanner (System.in);
    name = input.nextLine();


  }

}
0 голосов
/ 10 мая 2012

Я сомневаюсь, что у вас все еще есть эта проблема, но импортируйте ее вот так вверху вашего кода.

import cs1.Keyboard;

Тогда она должна работать правильно.Например:

import cs1.Keyboard;
public class NamePrinting
{
    public static void main(String[]args)
    {
        System.out.println ("Enter your name");
        String name = Keyboard.readString();
        System.out.println (name);  
    }
}
0 голосов
/ 02 сентября 2011
  1. В Java учитывается регистр.Файл класса keyboard будет содержать класс keyboard , а не Keyboard.
  2. Вы импортировали свой класс?Или оба класса в одном пакете?
...