2016-11-21 1 views
0

Je suis Prinston cours Algorithms, Part I. Comme je viens de .NET et juste commencé à utiliser Java, j'ai un problème avec un morceau de code Java et je ne trouve pas d'informations connexes. Ils fournissent un code que je peux utiliser pour lire un fichier texte:In ne peut être résolu en un type

public static void main(String[] args) { 

    In in = new In(args[0]); 
    int n = in.readInt(); 
    ... 
} 

Exception lancée:

En ne peut être résolu à un type

Quel est ce In? Dois-je importer un paquet ou que dois-je faire?

Le code entier et description peut aussi être vu ici: http://coursera.cs.princeton.edu/algs4/assignments/collinear.html

+0

Ma conjecture est que In devrait être Int et new Int(). C'est à dire, la classe Integer par opposition au type primitif. – Erik

+0

Bonne question. Qu'est-ce que c'est "In"? Syntactiquement, ça devrait être une classe. Mais il n'y a pas de classe de ce type dans JDK, donc ce devrait être une classe personnalisée qui n'est évidemment pas disponible dans votre projet. – AlexR

Répondre

4

Vous devez algs4, fournies par Princeton ainsi. Quand il est dans le classpath, ajoutez

import edu.princeton.cs.algs4.In; 

Si c'est la seule classe, vous pouvez utiliser the source of In.java. Mais je doute que cela soit autorisé sur Coursera: quand vous soumettez du code, il sera probablement compilé sur le serveur avec algs4.jar dans le classpath, donc vous devriez vraiment utiliser celui-là et pas votre propre code.

+0

J'ai installé 'algs4' et je peux utiliser leurs espaces de noms comme' edu.princeton.cs.algs4.StdRandom', 'edu.princeton.cs.algs4.StdIn/Out', mais pas la classe de la question. Laissez-moi vérifier le fichier .... –

+0

Hmmmm, je devais utiliser 'import edu.princeton.cs.algs4.In;'. Ils ne l'ont pas mentionné nulle part. Je vous remercie!!! –

+0

@GiorgiNakeuri: merci pour le commentaire. J'ai ajouté la déclaration d'importation à la réponse. –

0

In.java semble être une classe que quelqu'un à Princeton a fait, probablement pour ce même cours: http://algs4.cs.princeton.edu/12oop/In.java. Donc, oui, vous devez importer le bon paquet et vous avez besoin d'un pot avec cette classe dans votre classpath. Recherchez votre documentation de cours pour plus de conseils.