Comment puis-je imprimer le pair ou l'impair de caractères dans un tableau?
Permet de dire que j'ai de la chaîne: 'firetruck'. Et j'ai divisé cette chaîne dans les lettres et les mettre dans un tableau appelé T par exemple. Alors maintenant, T[] ressemble à {f,i,r,e,t,r,u,c,k}. Comment puis-je imprimer les caractères si mon instruction print ressemble 'frtuk" et l'étrange ressemble comme "ierc'. C'est ce que j'ai obtenu jusqu'à présent:
import java.util.Scanner;
import java.util.Arrays;
public class StringFun {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String even_odd = sc.next();
char[] t = even_odd.toCharArray();
System.out.println(Arrays.toString(t));
//I can't get this next part to work.
for(int i = t[0]; i < t.length; i = i + 2){
System.out.println(Arrays.toString(t[i]));
}
}
}
OriginalL'auteur Drieke | 2013-09-13
Vous devez vous connecter pour publier un commentaire.
Juste une petite erreur dans le code:
Vous n'avez pas besoin de la première valeur du tableau pour initialiser la variable de boucle
i
, juste le valeur de l'indice de vous voulez de la boucle de départ.Une délicate chose à garder à l'esprit est que l'indexation commence à partir de 0, mais nous, les humains comptent à partir de 1. (j'ai fait une erreur dans la première édition de la réponse trop) de Sorte que la characterss avec même ordinaux sera imprimé à la valeur de départ est bizarre.
Le début de l'indexation est tout à fait un problème commun on doit constamment garder à l'esprit...
Aussi, vous pouvez imprimer des caractères directement, vous n'avez pas besoin de la Les tableaux de.toString() méthode ici:
Est assez.
Impair de caractères: ensemble
i
à 0: cela permettra d'imprimer le 1er, 3e caractères ...Même caractères: ensemble
i
à 1: cela permettra d'imprimer les 2ème, 4ème ... caractèresL'élimination de la matrice
Aussi, vous n'avez même pas besoin de créer un tableau de char, vous pouvez utiliser Chaîne de caractères.charAt(int index) à cet effet:
De le prendre au prochain niveau
Aussi, pour être agréable, vous pouvez l'extraire dans une fonction, et réutilisation la fonctionnalité:
Et ensuite votre méthode principale serait juste ceci:
Rappelez-vous duplication est mauvais. Réutilisation --> bonne.
OriginalL'auteur ppeterka
Commencer votre boucle avec
0
au lieu det[0]
Actuellement
i
tiendra102
qui est la valeur ASCII de la lettref
, et il n'entrera pas dans la boucle à cause de la condition.Pourquoi
i
tiendra unechar
valeur, pour voir L'élargissement des primitives de conversion - Java qui permetOriginalL'auteur Habib
Assez simple. Il suffit de mettre dans un
if(i % 2 == 0)
pour déterminer si ou de ne pas imprimer le caractère.Aussi, il n'est pas nécessaire pour le
Arrays.toString(t[i])
. Changement àt[i]
.OriginalL'auteur StormeHawke
Essayer cette
Bizarre
Mettre à
Même
Mettre à
OriginalL'auteur Ruchira Gayan Ranaweera
Juste une petite erreur! Vous étiez proche. Cela devrait résoudre le problème.
OriginalL'auteur Aaron
Vous avez une erreur sur la déclaration, n'est pas int i = t[0], mais doit être de type int i = 0; sinon il va prendre la valeur ASCII du caractère sur la saleté de la position de la matrice.
OriginalL'auteur OscarG
Cette boucle par le biais de votre chaîne et d'imprimer ce que vous voulez.
OriginalL'auteur ThePerson
Essayer Cette
OriginalL'auteur JustJ
importer java.io.;
importer java.util.;
public class Solution {
}
OriginalL'auteur kanaparthikiran