-1

After changing my string from this:

String osver = System.getProperty("os.name");
  if (osver.contains("Mac")){
     String app = wd + "/relap5.x\"";
    } else if (osver.contains("Windows")){
     String app = "relap5.exe";
    } else if (osver.contains("linux")) {
     String app = "/relap5.x";
    }

To this:

String[] osver = {System.getProperty("os.name")};
  if (osver.contains("Mac")){
     String[] app = {wd + "/relap5.x\""};
    } else if (osver.contains("Windows")){
     String[] app = {"relap5.exe"};
    } else if (osver.contains("linux")) {
     String[] app = {"/relap5.x"};
    }

I am getting errors.

Cannot find symbol
symbol: method contains(String)
Location variable osver of type string[]

2 Answers2

1

You cannot do contains over an array. You could alternatively do this:

List<String> osver = Arrays.asList(System.getProperty("os.name"));

    if (osver.contains("Mac")) {
        String[] app = { wd + "/relap5.x\"" };
    } else if (osver.contains("Windows")) {
        String[] app = { "relap5.exe" };
    } else if (osver.contains("linux")) {
        String[] app = { "/relap5.x" };
    }
Sandeep Kaul
  • 2,957
  • 2
  • 20
  • 36
0

This is because Array does not contain method contains. Do you mean the following:

    String osver = System.getProperty("os.name");
    String app;
    if (osver.equals("Mac")){
        app = "wd" + "/relap5.x\"";
    } else if (osver.equals("Windows")){
        app = "relap5.exe";
    } else if (osver.equals("linux")) {
        app = "/relap5.x";
    }
    System.out.println(app);

The above code will check for equality but if you want to check for containment then use:

        String osver = System.getProperty("os.name");
        String app;
        if (osver.contains("Mac")){
            app = "wd" + "/relap5.x\"";
        } else if (osver.contains("Windows")){
            app = "relap5.exe";
        } else if (osver.contains("linux")) {
            app = "/relap5.x";
        }
        System.out.println(app);
akhil_mittal
  • 23,309
  • 7
  • 96
  • 95