Avatar billede pfp Nybegynder
31. oktober 2003 - 15:06 Der er 7 kommentarer og
1 løsning

Hvordan anvender jeg args?

Hej,

Jeg har min main:
public static void main(String args[])
{
readAndWrite();
}

Jeg vil gerne hente længden af argumenter i anden metode. Hvad gør jeg galt her:

public static void readAndWrite()
{
int numberOfInputs = args.length - 1;
}

Jeg får "cannot resolve symbol args".

Men hvis jeg skriver args.length oppe i selve main metoden så virker det fint nok..
Avatar billede simonvalter Praktikant
31. oktober 2003 - 15:08 #1
det skal vel være args[0].length
Avatar billede pfp Nybegynder
31. oktober 2003 - 15:10 #2
Nej, det gør ingen forskel.
Avatar billede a-torsten Nybegynder
31. oktober 2003 - 15:15 #3
Hvad med denne...

public static void main(String args[])
{
readAndWrite(args);
}

public static void readAndWrite(String[] args)
{
int numberOfInputs = args.length - 1;
}


/Anders
Avatar billede simonvalter Praktikant
31. oktober 2003 - 15:17 #4
fik også lige lavet en lidt anden variant .. a-torsten har svaret men nu kommer den aligevel ;)

public class Test {
  public static void main(String[] args) {
  Function.readAndWrite(args);
  }


}

class Function{
  public static void readAndWrite(String[] args) {
    int numberOfInputs = args.length - 1;
    System.out.println(numberOfInputs);
  }
}
Avatar billede pfp Nybegynder
31. oktober 2003 - 15:41 #5
Tak for det. Smid et svar a-torsten..
Avatar billede _carsten Nybegynder
31. oktober 2003 - 15:46 #6
Problemet er at 'args' kun er kendt i din main metode, du skal enten gøre den global i klassen eller overføre den som argument din readAndWrite() som a-torsten og loadet har vist.

Alternativeet, global:

public class WhatEver{
  static String[] args;

  public static void main(String args[])
  {  this.args = args;
      readAndWrite(args);
  }

  public static void readAndWrite()
  {
      int numberOfInputs = args.length - 1;
      System.out.println(numberOfInputs);
  }
}
Avatar billede _carsten Nybegynder
31. oktober 2003 - 15:46 #7
Hov - smutter

Ret:
public static void main(String args[])
  {  this.args = args;
      readAndWrite(args);
  }

Til:
public static void main(String args[])
  {  this.args = args;
      readAndWrite();
  }
Avatar billede a-torsten Nybegynder
31. oktober 2003 - 16:26 #8
Jamen jeg kaster da et svar så..
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester