2016-04-08 9 views
0

私はJavaを初めて使い、最初のJavaコースの途中にあります。この数週間ラボ割り当て手順は以下のとおりです。互換性のない型:java.util.lang.Stringをstringdemo.Stringに変換することはできません

  1. 引数としてStringオブジェクトを受け入れ、後方にその内容を表示backward()というメソッドを書くStringDemo

    という名前の新規プロジェクトを作成します。たとえば、文字列引数が "重力"の場合、メソッドには "ytivarg"と表示されます。ユーザーが文字列を入力してメソッドに渡すように求めるプログラムでこのメソッドを実演します。

  2. wordCount()という名前のメソッドを記述します。このメソッドは、Stringオブジェクトを引数として受け取り、そこに含まれる単語の数を返します。この場合、空白で単語を区切ります。たとえば、引数が "4 score and 7 years ago"である場合、メソッドは数値6を返す必要があります。ユーザーに文字列を入力してメソッドに渡すようにプログラムに指示する方法を示します。文字列内の単語数が画面に表示されます。 (ヒント:split()文字列の方法が有用である可能性があります。)

私は現在、問題2日午前、私は私のキーボード入力ライン上でこのエラー受け付けております:

互換性のない型を:java.utilの.lang.Stringは stringdemo.Stringに変換できません

誰かがこれを修正する方法を教えてください。

ありがとうございます。

import java.util.*; 

public class StringDemo { 
    /** 
    * @param args the command line arguments 
    */ 
    public static void main(String[] args) { 
     String input; 

     // Create a Scanner object for keyboard input 
     Scanner keyboard = new Scanner(System.in); 

     // Get user input 
     System.out.print("Enter a word or phrase to be reversed: "); 
     input = keyboard.nextLine(); 

     // Reverse the input using StringBuilder 
     StringBuilder input1 = new StringBuilder(); 
     input1.append(input); 
     input1 = input1.reverse(); 

     for (int i = 0; i < input1.length(); i++) 
      System.out.print(input1.charAt(i)); 
    } 

} 
+0

として私ができる午前として解釈されていることを意味しており、語学教室の前に一致していることを指示しますプログラムを実行し、期待される出力を得る。どのようにコードをコンパイルして実行していますか? (別に、私はあなたの宿題に組み込み逆方法を使うべきではないと思う) – Bajal

+2

'string'という名前のクラスを' stringdemo'パッケージに作ったのですか?それはエラーが言うように 'java.lang.String'と衝突します。 –

+0

'input'を宣言した行を' java.lang.String input; 'に変更します。 –

答えて

1

stringdemo.Stringクラスを削除するか名前を変更する必要があります。 Javaの連携のルールは、同じパッケージ内のクラスは、あなたの

String input; 

stringdemo.String input; 

なく

java.lang.String input; 
+1

もう一つの解決策は、 'input'を' java.lang.String'として宣言することです。 –

+3

別の解決方法は、あなたが混乱しない限り、Javaの共通クラスと同じ名前を再使用しないでください。 –

+1

@PeterLawrey開発者が 'java.awt.List'を使ってawt開発者と全く同じように:) –

関連する問題