2014-12-24 110 views
-3

我在java中遇到问题。它在我的开关功能中找不到符号。 我认为char inputChar(i)有问题,但我无法弄清楚问题所在。Java开关找不到符号错误

下面是代码:

import eip.*; 

public class IntDigitAutomat 
{ 
public static boolean digitCheck(char inputChar) 
{ 
    boolean isdigit = true; 
    int q = 1; 

    for (int i=0; i<input.length(); i++) 
    { 
     if(isdigit == false) 
      break; 
      switch(q) 
      { 
       case 1: 
        switch(inputChar(i)) 
        { 
         case '+': 
         case '-': 
          isdigit = true; 
          q=2; 
          break; 

         case ' ': 
          isdigit = true; 
          q=1; 
          break; 

         case '0': 
         case '1': 
         case '2': 
         case '3': 
         case '4': 
         case '5': 
         case '6': 
         case '7': 
         case '8': 
         case '9': 
          isdigit = true; 
          q=3; 
          break; 

         default: 
          isdigit = false; 
        } 


       case 2: 
        switch(inputChar(i)) 
        { 
         case '0': 
         case '1': 
         case '2': 
         case '3': 
         case '4': 
         case '5': 
         case '6': 
         case '7': 
         case '8': 
         case '9': 
          isdigit = true; 
          q=3; 
          break; 

         default: 
          isdigit = false; 
        } 

       case 3: 
        switch(inputChar(i)) 
        { 
         case '0': 
         case '1': 
         case '2': 
         case '3': 
         case '4': 
         case '5': 
         case '6': 
         case '7': 
         case '8': 
         case '9': 
          isdigit = true; 
          break; 

         default: 
          isdigit = false; 
        } 
     } 
     return isdigit; 
    } 
} 
} 

我需要更多的文字。我需要更多的文字。我需要更多的文字。我需要更多的文字。

+0

它找不到什么符号?什么是实际的错误信息? – markspace

+0

'inputChar(i)'应该表示什么? 'inputChar'是一个单独的字符。 –

+0

'IntDigitAutomat.java:10:错误:找不到符号 \t \t对(INT I = 0; I

回答

0

你必须单个字符传递给您的switch语句,改变switch(inputChar(i))switch(inputChar)

0
for (int i=0; i<input.length(); i++) 

这是你得到了一个问题,是字符串或文字,你都应该是搜索?字符串输入在哪里?

如果您正在尝试创建某种数学表达式解析器,那么您会错误地解决这个问题。 你应该看看谷歌或甚至其他关于数学解析的问题。

另外看看你的inputChar(i)的其他答案,这也是解决你正在得到的另一个错误。

0

如果你使用的是inputchar数组,那么你的代码是不正确的,然后在方法属性中把它作为数组,如果它不是数组,则循环条件错误以及开关条件错误。