Sida 1 av 1

Java. java.util.Scanner funkar ej

Postat: 21 sep 2007, 00:30
av Joe
Hej !

Jag försöker lära mig Java.  Jag har Ubuntu 6.06.
När jag försöker använda java.util.Scanner får jag fel vid kompileringen, se nedan.

----------------------------------------------------------
// Programmet (del av):

import java.util.*;

class
{
  //  java.util.Scanner    in = new java.util.Scanner (System.in);    // Ger samma fel
                  Scanner    in = new Scanner (System.in);
}
-----------------------------------------------------

Linux> javac Lathund.java  ger följande kompileringsfel.

-> javac Lathund.java
Lathund.java:169: cannot resolve symbol
symbol  : class Scanner
location: class Lathund
                  Scanner    in = new          Scanner (System.in);
                  ^
Lathund.java:169: cannot resolve symbol
symbol  : class Scanner
location: class Lathund
                  Scanner    in = new          Scanner (System.in);
                                                            ^
2 errors

//  Det verkar som Scanner är okänt

-> java -version
java version "1.4.2-02"

Är det för gamla Javaversioner i Ubuntu 6.06 ?    det är inga klagomål på import java.util.*;

Har paketen  libconcurrent-java och libcommons-io-java något med saken att göra ?

    Hälsningar  Johan

SV: Java. java.util.Scanner funkar ej

Postat: 21 sep 2007, 06:39
av gasol
Om jag inte minns fel så dök scanner upp i version 1.5 (5.0) av java testa å installera den versionen.

SV: Java. java.util.Scanner funkar ej

Postat: 21 sep 2007, 11:52
av skaggapa
gasol:

det stämmer. Scannern kom i 1.5.

jag tycker dock att Joe ska installera java 6 när han ändå håller på(om den finns i 6.06). Han får mer funktioner.

Kod: Markera allt

sudo apt-get install sun-java6-jdk
Joe:

När du installerat en ny java är det viktigt att du kolla vilken som används.

kör

Kod: Markera allt

sudo update-alternatives --config java

Kod: Markera allt

sudo update-alternatives --config javac
och välj den nyinstallerade javan.

tips. när du importerar importera bara precis de du behöver ex

Kod: Markera allt

import java.util.Scanner;
man kan få problem när man skapat egna objekt som har sammanamn som de fördefinierade.

tips2. Alla javas klasser finns på

http://java.sun.com/javase/6/docs/api/

ifall du inte redan hittat dit.

mvh
Anders

SV: Java. java.util.Scanner funkar ej

Postat: 21 sep 2007, 12:56
av gasol
Det är sant att det nog är bäst att installera 6.0 när man ändå är i farten, och när vi ändå nämner API dokumentation så är det viktigt att man tittar på rätt version av APIn.

När man väl har lärt sig grunderna i Java så är egentligen API dokumentation det enda man behöver referera till.
^_^

Om du sedan skriver egna bibliotek så kan du generera egna API dokument över dina klasser genom javadoc[\b] programmet. Den parsar din klasser och tittar på argument och returtyper, samt dina /** **/ kommentarer. http://en.wikipedia.org/wiki/Javadoc

SV: Java. java.util.Scanner funkar ej

Postat: 22 sep 2007, 14:27
av Joe
Hej !

Tack för hjälpen.
Jag hade redan java 5 men det fungerade ändå inte.
Jag totalavinstallerade version 5 och installerade version 6 men det funkade ändå inte.

Men så körde jag (enligt tips ovan):
update-alternatives --config java / javac så förstod jag varför det inte funkat tidigare.
Så det var update-alternatives --config som löste problemet.
Sen är det bra att jag fick version 6 på köpet. 
(Jag kanske ska rensa bort en del onödigt skräp av gamla versioner).

            --- * ---

Linux root>  update-alternatives --config java
There are 5 alternatives which provide `java'.
  Selection    Alternative
-----------------------------------------------
      1        /usr/bin/gij-wrapper-4.0
      2        /usr/bin/gij-wrapper-4.1
      3        /usr/lib/jvm/java-gcj/jre/bin/java
*+    4        /usr/lib/j2se/1.4/bin/java
      5        /usr/lib/jvm/java-6-sun/jre/bin/java
Press enter to keep the default[*], or type selection number: 5
Using `/usr/lib/jvm/java-6-sun/jre/bin/java' to provide `java'.

Linux-root>  update-alternatives --config javac
There are 2 alternatives which provide `javac'.
  Selection    Alternative
-----------------------------------------------
*+    1        /usr/lib/j2se/1.4/bin/javac
      2        /usr/lib/jvm/java-6-sun/bin/javac
Press enter to keep the default[*], or type selection number: 2
Using `/usr/lib/jvm/java-6-sun/bin/javac' to provide `javac'.

SV: Java. java.util.Scanner funkar ej

Postat: 22 sep 2007, 16:49
av skaggapa
jag gjorde själv samma miss när jag började med linux. =)