1

楽しみのために小さなプログラムをコーディングしていますが、次のエラーが発生しています。

Compilation error   time: 0.11 memory: 380672 signal:0Main.java:22: 
error: cannot find symbol
            string dtext = "One";
        ^
  symbol:   class string
  location: class Ideone
Main.java:37: error: cannot find symbol
        System.out.println(dtext);
                       ^
  symbol:   variable dtext
  location: class Ideone
2 errors

私のコード:

import java.util.*;
import java.lang.*;
import java.io.*;
import static java.lang.System.*;
import java.util.Scanner;
import java.lang.String;

class Ideone
{
public static void main (String str[]) throws IOException
{
    Scanner sc = new Scanner(System.in);

    //System.out.println("Please enter the month of birth");
    //int month = sc.nextInt();
    System.out.println("Please enter the day of birth");
    int day = sc.nextInt();

    //day num to day text
    if (day == 1)
    {
        string dtext = "One";
    }
    else if (day == 2)
    {
        string dtext = "Two";
    }
    else if (day == 3)
    {
        string dtext = "Three";
    }
    else
    {
        System.out.println("Error, day incorrect.");
    }

    System.out.println(dtext);
}
}

私はいくつかの調査を行い、Java が文字列変数を見つけられないことを発見しましたが、なぜですか? 変数が定義されており、print ステートメントが正しい。

4

3 に答える 3

5

stringJavaにはクラスがありません。文字列クラスがあります。

string dtext = "Two";

する必要があります

   String dtext = "Two";

S資本でなければなりません。

そして、あなたの Stringvariableスコープを見てください。あなたはそれをIfに制限していますblock.それを上に移動し、

次に、コードは次のようになります

String dtext = "";
        if (day == 1) {
            dtext = "One";
        } else if (day == 2) {
            dtext = "Two";
        } else if (day == 3) {
            dtext = "Three";
        } else {
            System.out.println("Error, day incorrect.");
        }
        System.out.println(dtext);
于 2013-10-16T14:48:47.847 に答える
1

タイプミスがあります

String dtext = "One";  

String クラスを見てください。

もう1つ、変数のスコープを確認してください

if (day == 1)
{
    String dtext = "One";  //it dtext has local scope here
}//after this line dtext is not available  

dtext外部ifで宣言する

String dtext = "";
 if (day == 1)
 {
    dtext = "One";
 }
 else if (day == 2)
 {
    dtext = "Two";
 }
 else if (day == 3)
 {
    dtext = "Three";
 }
 else
 {
    System.out.println("Error, day incorrect.");
 }

System.out.println(dtext);
于 2013-10-16T14:49:02.710 に答える
1

文字列は Java に存在しません。最初stringの文字は大文字にする必要があります -> String

例えば

string dtext = "One";に変更String dtext = "One";

あなたのコードから

if (day == 1)
{
    string dtext = "One";
}
else if (day == 2)
{
    string dtext = "Two";
}
else if (day == 3)
{
    string dtext = "Three";
}
else
{
    System.out.println("Error, day incorrect.");
}

System.out.println(dtext);      //this line will get error dtext variable in not reachable.

コードは以下のようにする必要があります

String dtext ="";
if (day == 1)
{
    dtext = "One";
}
else if (day == 2)
{
    dtext = "Two";
}
else if (day == 3)
{
    dtext = "Three";
}
else
{
    System.out.println("Error, day incorrect.");
}
System.out.println(dtext);
于 2013-10-16T14:49:12.977 に答える