Conversion String --> char
el_kun_aguero
Messages postés
16
Date d'inscription
Statut
Membre
Dernière intervention
-
el_kun_aguero -
el_kun_aguero -
Bonjour à tous,
On me demande de coder un programme qui permet d'afficher la question suivante : « quel est ton prénom ? », de saisir un prénom, puis d'afficher ce prénom selon une diagonal.
Par ex si je saisi "Igal" comme prénom, il doit afficher:
I
______ ______ g
______ ______ ______ a
______ ______ ______ ______ l
Sans les " ______ "
J'ai fais ça pour le moment:
public class Test {
public static void main (String[] args) {
String nom;
int i=0;
char carac;
Ecran.afficherln("Veuillez saisir votre prénom svp: : ");
nom = Clavier.saisirString();
for ( i =0; i <= nom.length(); i++) {
carac = nom.charAt(i);
Ecran.afficherln (" ",carac);
}
}
}
Mais le programme m'affiche:
I
g
a
l
Si quelqu'un pourrais m'aider, merci d'avance.
On me demande de coder un programme qui permet d'afficher la question suivante : « quel est ton prénom ? », de saisir un prénom, puis d'afficher ce prénom selon une diagonal.
Par ex si je saisi "Igal" comme prénom, il doit afficher:
I
______ ______ g
______ ______ ______ a
______ ______ ______ ______ l
Sans les " ______ "
J'ai fais ça pour le moment:
public class Test {
public static void main (String[] args) {
String nom;
int i=0;
char carac;
Ecran.afficherln("Veuillez saisir votre prénom svp: : ");
nom = Clavier.saisirString();
for ( i =0; i <= nom.length(); i++) {
carac = nom.charAt(i);
Ecran.afficherln (" ",carac);
}
}
}
Mais le programme m'affiche:
I
g
a
l
Si quelqu'un pourrais m'aider, merci d'avance.
A voir également:
- Convertir string en char java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
4 réponses
Le problème c'est que jamais tu ne lui demande d'écrire des espaces avant tes lettres... or il faut que tu en ai de plus en plus à chaque ligne.
Comme l'a mentionné KX, il faudrait que tu incrémentes le nombre d'espaces devant ton caractère à chaque fois que ta boucle augmente.
Je ferais un truc du genre:
Ou quelque chose du genre devrait fonctionner.
Bonne chance!
Echo "Lima Mike Alfa";
Je ferais un truc du genre:
string espace = ""; for ( i =0; i < nom.length(); i++) { carac = nom.charAt(i); Ecran.afficherln (espace, carac); espace += " "; }
Ou quelque chose du genre devrait fonctionner.
Bonne chance!
Echo "Lima Mike Alfa";
Quel est le problème exactement? Est-ce l'affichage d'une première ligne vide?
Peut-on voir le code des fonctions
Merci!
Echo "Lima Mike Alfa";
Peut-on voir le code des fonctions
Clavier.saisirString();et de
Ecran.afficherln ();?
Merci!
Echo "Lima Mike Alfa";
En fait, il n'affiche pas le nom en diagonale. Il affiche les char tous dans la même colonne.
Et pour les codes, tu parle des codes sources (désolé si je dis des bétises, je débute en programmation, c'est ma première année).
Si c'est c'est les codes sources voici celui de Ecran.afficherln();
" <pre><div class="text_to_html">public class Ecran {
public static void main(String[] s) {
int n;
n=Clavier.saisirInt();
afficherln("salut", n, 'c');
afficherln("toto");
afficherln();
afficherln(24);
}
public static void afficher(Object... s) {
for (Object o : s) {
System.out.print(o.toString());
}
}
public static void afficherln(Object... s) {
for (Object o : s) {
System.out.print(o.toString());
}
System.out.println();
}
public static void sautDeLigne() {
System.out.println();
}
}</div></pre>"
Et voici celui de Clavier.saisirString();
"<pre><div class="text_to_html">import java.io.InputStreamReader;
import java.io.BufferedReader;
import java.io.IOException;
public class Clavier{
private static BufferedReader flux = new BufferedReader(new InputStreamReader(System.in));
private Clavier(){}
public static byte saisirByte(){
byte b = 0;
boolean ko = true;
while (ko) {
try{
b = Byte.valueOf(flux.readLine()).byteValue();
ko = false;
} catch(Exception e){
System.err.println("Erreur : la valeur saisie n'est pas un byte. Recommencez.");
}
}
return b;
}
public static short saisirShort(){
short s = 0;
boolean ko = true;
while (ko) {
try{
s = Short.valueOf(flux.readLine()).shortValue();
ko = false;
} catch(Exception e){
System.err.println("Erreur : la valeur saisie n'est pas un short. Recommencez.");
}
}
return s;
}
public static int saisirInt(){
int i = 0;
boolean ko = true;
while (ko) {
try{
i = Integer.valueOf(flux.readLine()).intValue();
ko = false;
} catch(Exception e){
System.err.println("Erreur : la valeur saisie n'est pas un int. Recommencez.");
}
}
return i;
}
public static long saisirLong(){
long l = 0;
boolean ko = true;
while (ko) {
try{
l = Long.valueOf(flux.readLine()).longValue();
ko = false;
} catch(Exception e){
System.err.println("Erreur : la valeur saisie n'est pas un long. Recommencez.");
}
}
return l;
}
public static double saisirDouble(){
double d = 0;
boolean ko = true;
while (ko) {
try{
d = Double.valueOf(flux.readLine()).doubleValue();
ko = false;
} catch(Exception e){
System.err.println("Erreur : la valeur saisie n'est pas un double. Recommencez.");
}
}
return d;
}
public static float saisirFloat(){
float f = 0;
boolean ko = true;
while (ko) {
try{
f = Float.valueOf(flux.readLine()).floatValue();
ko = false;
} catch(Exception e){
System.err.println("Erreur : la valeur saisie n'est pas un float. Recommencez.");
}
}
return f;
}
public static char saisirChar(){
char c = ' ';
boolean ko = true;
while (ko) {
try{
String line = flux.readLine();
if (line.length() > 0) {
c = line.charAt(line.length()-1);
ko = false;
}
} catch(Exception e){
System.err.println("Erreur : la valeur saisie n'est pas un char. Recommencez.");
}
}
return c;
}
public static String saisirString(){
String s = "";
boolean ko = true;
while (ko) {
try{
s = flux.readLine();
ko = false;
} catch(Exception e){
System.err.println("Erreur : la valeur saisie n'est pas une chaine. Recommencez.");
}
}
return s;
}
}
</div></pre>"
Et pour les codes, tu parle des codes sources (désolé si je dis des bétises, je débute en programmation, c'est ma première année).
Si c'est c'est les codes sources voici celui de Ecran.afficherln();
" <pre><div class="text_to_html">public class Ecran {
public static void main(String[] s) {
int n;
n=Clavier.saisirInt();
afficherln("salut", n, 'c');
afficherln("toto");
afficherln();
afficherln(24);
}
public static void afficher(Object... s) {
for (Object o : s) {
System.out.print(o.toString());
}
}
public static void afficherln(Object... s) {
for (Object o : s) {
System.out.print(o.toString());
}
System.out.println();
}
public static void sautDeLigne() {
System.out.println();
}
}</div></pre>"
Et voici celui de Clavier.saisirString();
"<pre><div class="text_to_html">import java.io.InputStreamReader;
import java.io.BufferedReader;
import java.io.IOException;
public class Clavier{
private static BufferedReader flux = new BufferedReader(new InputStreamReader(System.in));
private Clavier(){}
public static byte saisirByte(){
byte b = 0;
boolean ko = true;
while (ko) {
try{
b = Byte.valueOf(flux.readLine()).byteValue();
ko = false;
} catch(Exception e){
System.err.println("Erreur : la valeur saisie n'est pas un byte. Recommencez.");
}
}
return b;
}
public static short saisirShort(){
short s = 0;
boolean ko = true;
while (ko) {
try{
s = Short.valueOf(flux.readLine()).shortValue();
ko = false;
} catch(Exception e){
System.err.println("Erreur : la valeur saisie n'est pas un short. Recommencez.");
}
}
return s;
}
public static int saisirInt(){
int i = 0;
boolean ko = true;
while (ko) {
try{
i = Integer.valueOf(flux.readLine()).intValue();
ko = false;
} catch(Exception e){
System.err.println("Erreur : la valeur saisie n'est pas un int. Recommencez.");
}
}
return i;
}
public static long saisirLong(){
long l = 0;
boolean ko = true;
while (ko) {
try{
l = Long.valueOf(flux.readLine()).longValue();
ko = false;
} catch(Exception e){
System.err.println("Erreur : la valeur saisie n'est pas un long. Recommencez.");
}
}
return l;
}
public static double saisirDouble(){
double d = 0;
boolean ko = true;
while (ko) {
try{
d = Double.valueOf(flux.readLine()).doubleValue();
ko = false;
} catch(Exception e){
System.err.println("Erreur : la valeur saisie n'est pas un double. Recommencez.");
}
}
return d;
}
public static float saisirFloat(){
float f = 0;
boolean ko = true;
while (ko) {
try{
f = Float.valueOf(flux.readLine()).floatValue();
ko = false;
} catch(Exception e){
System.err.println("Erreur : la valeur saisie n'est pas un float. Recommencez.");
}
}
return f;
}
public static char saisirChar(){
char c = ' ';
boolean ko = true;
while (ko) {
try{
String line = flux.readLine();
if (line.length() > 0) {
c = line.charAt(line.length()-1);
ko = false;
}
} catch(Exception e){
System.err.println("Erreur : la valeur saisie n'est pas un char. Recommencez.");
}
}
return c;
}
public static String saisirString(){
String s = "";
boolean ko = true;
while (ko) {
try{
s = flux.readLine();
ko = false;
} catch(Exception e){
System.err.println("Erreur : la valeur saisie n'est pas une chaine. Recommencez.");
}
}
return s;
}
}
</div></pre>"