没有什么是静态的,虽然显然我无法访问非静态空白

时间:2017-11-26 15:32:00

标签: java string split

我的void和identifier都不是静态的,但是String.split()方法给出了错误:

range(len(subbin)-1)

另外,这是我的两个班级:

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
Cannot make a static reference to the non-static method split(String) from the type String

at cal.scan.ScanningForType.Scan(ScanningForType.java:17)
at cal.scan.ScanningForType.Print(ScanningForType.java:30)
at cal.Cal.main(Cal.java:9)

import java.util.Scanner;

public class ScanningForType {

    private int a, b;
    private String[] numsI;
    private String num1, num2, nums;

    private Scanner sc = new Scanner(System.in);

    public void Scan(String type) {
        if(type == "Addition") {
            System.out.println("What two nums?");
            nums = sc.nextLine();
            numsI = String.split("");
        } else if(type == "Subtraction") {
            System.out.println("What two nums?");
        } else if(type == "Multiplication") {
            System.out.println("What two nums?");
        } else if(type == "Division") {
            System.out.println("What two nums?");
        } else {
            System.out.println("Not yet supported - will be soon");
        }
    }

    public void Print() {
        Scan("Addition");
    }

}

出于某种原因 - 我无法理解为什么 - 我不断得到这个不应该被调用的错误,尽管java认为它适合被调用。我过去没有碰到这个,所以我不知道为什么java认为这个时间与我使用String.split()的其他时间不同。

1 个答案:

答案 0 :(得分:-2)

这是错误

numsI = String.split("");

您正在调用String类的split方法。 将其更改为:

numsI = nums.split("");