2016-06-26 2 views
0

J'étudie la programmation orientée objet dans mon université et mes professeurs font un exemple de flux sur Java. Malheureusement quand j'essaye d'exécuter ce code il indique "println ne peut pas être résolu comme variable" sur System.out::println. Il dit aussi de supprimer les deux points, tandis que sur l'éclipse de mon professeur, il fonctionne.println ne peut pas être résolu en tant que variable

Ceci est le code. Je courais sur Eclipse pour ubuntu et ma version de Java est mise à jour 1.8 91

package stream; 

import java.util.Arrays; 

public class StreamExamples { 

    public static void main(String[] args){ 
     String text = "I have no idea what is the problem"; 
     String[] words = text.split(" "); 

     Arrays.stream(words)   
     .sorted() 
     .limit(3) 
     .forEach(System.out::println); 
    } 
} 
+1

Quelle version d'eclipse utilisez-vous? – GhostCat

+0

Le code semble bien et de vérifier que je l'ai exécuté sur ma machine locale (1.8) avec comme résultat la sortie suivante: 'I ont idée' chaque sur une ligne séparée. Etes-vous sûr que vous exécutez la classe principale avec JVM 1.8 (essayez sur la ligne de commande). – uniknow

+0

@ Jägermeister Version: 3.8.1 –

Répondre

1

Très probablement la version d'Eclipse que vous utilisez ne comprend pas la syntaxe Java 8.

Vous devez exécuter l'actuel Eclipse 4.6 (Neon) ou la version précédente 4.5 (Mars) pour un support complet de Java 8. Votre code fonctionne correctement sur Eclipse Neon.

+0

Eclipse Luna aussi. – Holger

0

1) Vérifiez votre chemin de construction en faisant un clic droit sur votre projet, Build Path> Configure Build Path. L'onglet Librairies devrait afficher un JRE avec la version 1.8, sinon, cliquez sur Editez et sélectionnez un JRE qui est au moins la version 8.

2) Vérifiez les paramètres du compilateur en cliquant avec le bouton droit sur votre projet, Propriétés> Compilateur Java. Remplacez le niveau de conformité du compilateur à 1.8.

+0

Indice: votre réponse va simplement dans la mauvaise direction. Chose est: eclipse a son propre compilateur java; et si ce compilateur interne ne correspond pas ... alors cela ne sert à rien de pointer vers un JDK plus récent. Par conséquent votre réponse manque le point. – GhostCat

+0

Vous voulez dire changer le niveau du compilateur (interne) à 1,8? ;-) –

+0

Comment le feriez-vous lorsque votre version d'eclipse est antérieure à 1.8? C'est mon point: un débutant peut ne pas comprendre que "les menus ne montrent pas 1.8" se traduit par "vous avez besoin d'une version plus récente d'éclipse". – GhostCat