Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我有一个错误:找不到符号,但我认为我的变量都已声明和初始化_Java - Fatal编程技术网

Java 我有一个错误:找不到符号,但我认为我的变量都已声明和初始化

Java 我有一个错误:找不到符号,但我认为我的变量都已声明和初始化,java,Java,这应该是一个单词猜谜游戏,在猜单词之前有5次机会输入辅音。它仍然不完整,但我必须知道程序的这一部分是否运行良好。我认为给我带来麻烦的变量是辅音、元音、数字这是我的代码:ps我对java非常陌生 public class julia1 { public static void main(String[] args) { System.out.print("enter text to guess: "); String w = Keyboard.readString();

这应该是一个单词猜谜游戏,在猜单词之前有5次机会输入辅音。它仍然不完整,但我必须知道程序的这一部分是否运行良好。我认为给我带来麻烦的变量是辅音、元音、数字这是我的代码:ps我对java非常陌生

public class julia1 {

public static void main(String[] args) {

     System.out.print("enter text to guess: ");
     String w = Keyboard.readString();

     String asterix = "";

     for(int c = 0; c < w.length(); c++){
        if(w.charAt(c)==(' ')) asterix = asterix + " ";
        else asterix = asterix + "*";
        }
     System.out.println(asterix);


     for (int trys = 0; trys <=5; trys++){ 
        String temp=""; 
        System.out.print("enter a consonant: ");
        char c1 = Keyboard.readChar();
    for (int i = 0; i < w.length(); i++)
    {
        boolean character  = false, vowel = false, consonant =false,                   number= false;
        if (w.charAt(i) >= 'a' &&w.charAt(i)<='z')
        character = true;

        if (w.charAt(i) >= 'A' && w.charAt(i)<='Z')
        character = true;

        if (character == true){
            switch (w.charAt(i)){
                case 'a': case 'A': case 'o': case 'O':
                case 'e': case 'E':
                case 'i': case 'I':
                case 'u': case 'U': vowel = true; break;

        if (c1 >= '0' && c1 <='9')
            number=true;        
                default : consonant = true;

            }
        }
    }
      for(int c = 0; c < w.length(); c++){ 
          if((w.charAt(c)==c1) && (consonant == true ))
             temp = temp + c1;
             else if (vowel==true) 
                  {temp = temp + asterix.charAt(c);
                  System.out.println("this is a vowel not consonant");
                  }
                 else
                  temp = temp + asterix.charAt(c)&& number==true; 
                  System.out.println("this is not a valid letter");}

       asterix = temp; 
       System.out.println(asterix) ;
} 



  }
 }
公共类{
公共静态void main(字符串[]args){
System.out.print(“输入要猜测的文本:”);
String w=键盘。readString();
字符串asterix=“”;
对于(int c=0;c对于(int trys=0;trys='a'和&w.charAt(i)='a'和&w.charAt(i)='0'&&c1您已经为
循环声明了变量
布尔字符=false、元音=false、辅音=false、数字=false;
内部为循环,并试图在该循环外部使用它们,但在其他
内部为
循环使用它们。这是编译错误的原因。

这些变量:

boolean character = false, vowel = false, consonant = false, number = false;
在for循环中声明,这意味着它们的作用域仅限于for循环。当您尝试在下一个for循环中重用它们时,它们不再存在


要么你想知道它们在上一个循环结束时的最终值是多少,在这种情况下,你需要在第一个for循环之前声明来增加它们的作用域。要么你不想知道,你可以在第二个for循环中重新声明它们。

一个问题是你在一个for循环中声明了
辅音
d然后尝试在另一个循环中使用它。这是不允许的,因为
辅音的作用域结束于您声明它的for循环的末尾。

1)

你已经结束了,但它应该结束

2) 在for循环的外侧定义您的字符、元音、辅音,否则它将仅适用于for循环

如果将它们定义为类变量,则不需要初始化为false,其默认值为false

public class julia1 {

 boolean character, vowel , consonant ;

 public static void main(String[] args) {

3)
temp=temp+asterix.charAt(c)和&number==true;
行无效

在哪一行出现错误?在这里发布编译器错误。哪一行是错误?if((w.charAt(c)==c1)和&(辅音==true))^symbol:可变辅音位置:类julia1 E:\julia1\src\julia1.java:47:错误:如果(元音==true)则找不到其他符号^symbol:可变元音位置:类julia1 E:\julia1\src\julia1.java:52:错误:找不到符号temp=temp+asterix.charAt(c)&&数字==true;^symbol:变量编号位置:类3errors@JuliaCaruana请编辑您的问题。在注释中阅读代码几乎是不可能的。一个建议。请正确格式化您的代码。许多这样的编译器错误在正确格式化的帮助下很容易解决。@JuliaCaruana,不要尝试“其他东西”。只需将此代码行字符串
布尔字符=false,元音=false,辅音=false,数字=false;
放在(int i=0;i
P.S.之前。不幸的是,这不是代码中的最后一个错误,但这将解决第一个问题。。。
public class julia1 {

 boolean character, vowel , consonant ;

 public static void main(String[] args) {