(&#39 ;;' expected boolean checkBinary(String num){^)需要帮助才能找到错误

时间:2015-08-12 20:51:17

标签: java compiler-errors

我一直在&#39 ;;'预期在checkBinary(String num){^错误,但我无法找到&#34 ;;"的任何地方。我只研究了几天的java,所以问题可能是我尚未学到的明显问题。请提供详细解释,以便我可以使用它来防止以后项目中的问题。提前谢谢!

import java.io.*;
import java.util.Scanner;

public class checkbinary
{
public static void main(String[] args)
{
    String num;
    System.out.println("Enter a number:");
Scanner sc = new Scanner(System.in);
num = sc.nextLine();
   if(checkBinary(num)) {
       System.out.println("The number is: Binary");
   } else {
       System.out.println("The number is: Not Binary");
   }

    boolean checkBinary(String num) {
       for(i=0;i<num.length();i++) {
           digit = Integer.parseInt(num.substring(i,i+1));
           if(digit > 1) { 
               return false;
           }
       }
       return true;
   }

}

1 个答案:

答案 0 :(得分:1)

您需要将checkBinary方法移到主方法之外。如果不声明内部类,则无法在java中嵌套方法。

这应该有效:

import java.io.*;
import java.util.Scanner;

public class checkbinary
{
    public boolean checkBinary(String num) {
        for(i=0;i<num.length();i++) {
            digit = Integer.parseInt(num.substring(i,i+1));
            if(digit > 1) { 
                return false;
            }
         }
         return true;
    }

    public static void main(String[] args)
    {
        String num;
        System.out.println("Enter a number:");
        Scanner sc = new Scanner(System.in);
        num = sc.nextLine();
        if(checkBinary(num)) {
            System.out.println("The number is: Binary");
        } else {
            System.out.println("The number is: Not Binary");
        }
    } 
}

如果您想知道如何使用嵌套类解决此问题,那么SO上还有许多其他问题/示例。像这一个Can methods in java be nested and what is the effect?In java what are nested classes and what do they do?