Posez votre question Signaler

Chaîne de caractère en java :(

cecatem 6Messages postés lundi 11 février 2008Date d'inscription 14 février 2008Dernière intervention - Dernière réponse le 8 avril 2011 à 11:37
Hello tous le monde !!! Voila actuellement étudiante en IUT SRC, j'ai au programme du java ( parce que juvamine !!! ) et il se trouve que je suis un grosse quiche donc je voudrais savoir si vous pourriez pas m'aider pour un p'tit exo histoire que ça puisse me lancer pour les autres parce que je vois pas trop comment faire ...
En gros, il me dise d'écrire un programme qui extrait et affiche la première moitié d'un mot donnée par l'utilisateur et il me dise d'utiliser la méthode next() de la classe Scanner et les méthodes length et substring de la classe string. Or j'ai pas tout compris avec la classe scanner ( qui permet de mémoriser ce que rentre l'utilisateur ) et alors la classe string, je sais même pas ce que c'est, si ça veut dire chaîne en français XD, donc voili voila merci d'avance pour votre aide ><
Lire la suite 
Réponse
+3
moins plus
Salut
Voici un bout de code que je viens de faire ;)
import java.util.*;

public class Invers {

    public static void main (String []args){
        //permet de récupérer les mots entrés par l'utilisateur
	Scanner entree=new Scanner(System.in);
        
	System.out.print("Entrer le mot : ");

	//pour stocker le mot entré par l'utilisateur
        String mot=entree.next();

        //on affiche la moitié du mot (commence à 0 et fini à la taille divisée par deux)
	System.out.println(mot.substring(0,mot.length()/2));
    }
}


J'espère que ça te sera utile.
Ajouter un commentaire
Annonces
 
moins plus
Réponse
+1
moins plus
Bonjour,
je suis une débutante en java et je voulais faire un peti programme qui m'affiche une chaine inversé tout en suppriment les caractères spéciaux(? . !! etc..)
j'arrive à afficher la chaine mais il ya tjrs les caractères spéciaux .
merci
Ajouter un commentaire
Annonces
 
moins plus
Réponse
+0
moins plus
Salut,
Es-tu obligée d'utiliser la méthode next() de Scanner ? Et comment l'utilisateur entre ses données ? Lors du lancement du programme ou après le lancement du programme avec l'affichage d'un message ?

Cordialement
Ajouter un commentaire
Réponse
+0
moins plus
bah je pense que oui parce que c'est demandé dans l'énnoncé et pour entrer les valeurs d'habitude y'a écrit entrer une valeur et la on tape une valeur, donc avec avec l'affichage d'un message
Ajouter un commentaire
Réponse
+0
moins plus
oui je pense merci beaucoup en tout cas ^^
Ajouter un commentaire
Réponse
+0
moins plus
Hey désolé encore de vous déranger, mais j'arrive pas à avancer, je rencontre quelques petits problèmes et je ne vois pas comment les résoudre :(

Enfaite il me demande d'écrire un programme, ou l'utilisateur entre 3 variables et après si les calculs sont possibles grâce au booléen, on doit afficher si c'est vrai ou pas, mais or rien quand compilant mon programme pour voir si je peux entrer les valeurs, il me dit que mon programme est faux à cause de main dans public static void et alors la je comprends pas ! Y'a aussi autre chose que je ne comprends pas très bien, c'est si ma syntaxe est bonne pour vérifier si c'est true au false, est ce que + suivit du calcul est bon ? et quand on me parle du et cela correspond au & ?

import java.util.*;
public class Logique
{
public static void main(String[] args);
{
Scanner bouh = new Scanner(System.in);
int a;
int b;
int c;

System.out.println("Entrez une première valeur :");
a = bouh.nextInt();
System.out.println("Entrez une deuxième valeur :");
b = bouh.nextInt();
System.out.println("Entrez une troisième valeur :");
c = bouh.nextInt();
System.out.println("La valeur de a est :" + a);
System.out.println("La valeur de b est :" + b);
System.out.println("La valeur de c est :" + c);

System.out.println("a est supérieur à 3 et le quotient entier de la somme de a et de b par c est un multiple de 4" + a>3 & (a+b+c)%4=0);
System.out.println("a divise b et a divise c" + b/a & b/a);
System.out.println("si a divise b alors a divice bc" + b/a == bc/a);

}
}

On me demande de faire un programme aussi qui permet d'inverser la première lettre et la dernière lettre de chaque mot, je sais que je dois utilisé la mot.charAT(index) d'après ce que j'ai vu sur le net, mais je ne comprends pas comment m'en servir voici le programme que j'ai écris déjà :s

import java.util.*;

public class TeteAQueue {

public static void main (String []args){
Scanner hihi=new Scanner(System.in);

System.out.print("Entrer le mot : ");
String mot=hihi.next();
System.out.println(mot.chartAT(0,2));
}
}

Mais ça à pas l'air d'être bon :-\

Merci d'avance pour votre aide !
Ajouter un commentaire
Réponse
+0
moins plus
hello ! Bon j'ai testé pour le premier en effet ça paraît plus logique mais quand j'écris ça :

test2 = (b/a) & (c/a);
test3 = (b/a) & ((b*c)/a) ;

il me sort qu'il y a un problème avec le & et je ne comprends pas pourquoi :@ auriez-vous une idée ? Sinon, ou est ce qu'on peut trouver la javadoc ?!
Ajouter un commentaire
Réponse
+0
moins plus
Salut,
b/a te renvoie le quotient de b par a. Ça ne signifie pas : Si a divise b.
Voilà la condition de test2 : test2=(b%a==0) & (c%a==0);
Là, ça devrait marcher. Je te laisse t'exercer sur test3.

Cordialement
Ajouter un commentaire
Réponse
+0
moins plus
oki oki je suis vraiment naze merci bcp en tout cas :)
Ajouter un commentaire
Réponse
+0
moins plus
Mais non, juste une étourderie. À la prochaine ;)
Ajouter un commentaire
Réponse
+0
moins plus
import fr.jussieu.script.Deug;
public class TeteAQueue {
    public static void main (String []args){
        Deug.println("Entrer le mot : ");
        String mot = Deug.readString();
        char prem = mot.charAt(0) ;
	char dern = mot.charAt(mot.length() - 1) ;
	Deug.println(dern + mot.substring(1,mot.length() - 1) + prem);
    }
}


Voci le code pour TeteAQueue lol
Ajouter un commentaire
Réponse
+0
moins plus
Lol j'ai remarqué que les gens qui ont envie qu'on leur fasses ou répondent a des choses urgentes ( genre exos a rendre pour le lendemain ;) )
C'est toujours des filles ^^ C'est normal ? héhéh
Ajouter un commentaire
Réponse
+0
moins plus
Voici Encore.java

 import fr.jussieu.script.Deug;

public class Encore {
   public static void main(String[] args) {
	String a, b;
	boolean c;
	a = "oui";
	b = "oui";
	c = Deug.equals(a ,b);
	while(c == true){
	Deug.println("Encore ?");
	b = Deug.readString();
	c = Deug.equals(a , b);
	}

}
}
Ajouter un commentaire
Réponse
-1
moins plus
Salut,

Alors tu as écris public static void main(String[] args); // faut pas de ;
Ensuite tes println ne marcheront pas à cause de tes + (...), à moins de caster en boolean. Mais je te conseille pas, c'est illisible.
Pourquoi ne pas faire tout simplement : boolean test1=a>3 & (a+b+c)%4==0; //n'oublie pas que c'est == l'opérateur de comparaison. Ainsi dans ton println tu feras + test1.
De même pour les autres tests ;)

Pour l'autre programme :

La méthode est : charAt(int index), cela te permet d'avoir accès à la case "index" du tableau.
Par exemple String toto="abcde"; toto.charAt(0) va te retourner 'a', etc.
Je te laisse donc réfléchir un peu pour échanger la première et dernière lettre du mot. Petit indice, il existe la méthode length() qui te permet de connaître la longueur du mot.

Sinon, n'oublie pas la javadoc. Elle est primordial en java pour connaître comment utiliser une méthode et quelles sont les méthodes d'une classe ;)

Cordialement
Ajouter un commentaire
Ce document intitulé «  Chaîne de caractère en java :(  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.