Java: Input strings with keyboard class

2019-01-27 11:24发布

I'm trying to input information in Java console application but I can't seem to run it.

This is how my Java file looks like:


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);      
    }

}

But I get the error:

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

I have a keyboard.class file in my source folder. I'm using Eclipse with Ubuntu.

5条回答
Animai°情兽
2楼-- · 2019-01-27 12:00

You need to use import java.util.Scanner; for the first line and Use scanner codes instead of the "keyboard" you will get the same result with keyboard. Try like below.

 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();


  }

}
查看更多
家丑人穷心不美
3楼-- · 2019-01-27 12:11
Unresolved compilation problem:  

means that the code could not be compiled.

You have to import Keyboard, something like

import uitl.Keyboard

When you use classes from a different package (not the same package of the current class), you have to import the class. If the class is also in the same package then you need not import.

Classes are generally grouped into Packages.
How do you know the package? Go to the first like of the class. This should be something like package xyz meaning that the current class in the xyz package. The class will be in a folder called xyz then (This is the rule for packages: when you want to have a class in a package, say abc.xyz then the class should have a package declaration - the first line of the code - to be package abc.xyz and the file should be present in a folder xyz which in then should be in a folder abc.

查看更多
家丑人穷心不美
4楼-- · 2019-01-27 12:16
  1. Java is case sensitive. A class file keyboard will contain a class keyboard not Keyboard.
  2. Do you have imported your class? Or are both classes in the same package?
查看更多
等我变得足够好
5楼-- · 2019-01-27 12:19

I doubt you're still having this problem but import it like this at the top of your code.

import cs1.Keyboard;

Then it should work properly. For example:

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);  
    }
}
查看更多
The star\"
6楼-- · 2019-01-27 12:27

try this

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){} 
查看更多
登录 后发表回答