[Java] Extraire des sous-chaînes (AOJ13 --shuffle)

Extraire une sous-chaîne d'une chaîne

public class Main {
	public static void main(String[] args) {
    String str = "Pourquoi le chat est-il si MOFU?";
    //10~Extraire jusqu'au 14e caractère
    String mofu= str.substring(10,15);
    //Afficher Yamazaki
    System.out.println(mofu); //MOFU
    }
}

Lecture aléatoire (ITP1-9)

Mélangez une pile de n cartes avec un alphabet dessiné dessus. En un seul mélange, vous sortez les cartes h du bas et vous les empilez sur la pile de cartes restante. La pile de cartes est donnée par une chaîne de caractères comme suit. abcdeefab La première lettre indique la carte en bas et la dernière lettre indique la carte en haut. Par exemple, si vous mélangez ceci avec un h de 4, les 4 premiers caractères abcd seront concaténés à la fin des caractères restants eefab, donc: eefababcd Répétez ce mélange plusieurs fois. Créez un programme qui lit la première séquence (chaîne de caractères) et la colonne h de la pile de cartes et affiche la dernière séquence (chaîne de caractères). Input Plusieurs ensembles de données sont donnés en entrée. Chaque ensemble de données est donné dans le format suivant: Une chaîne représentant la première séquence Nombre aléatoire m h1 h2 . . hm Lorsque la chaîne de caractères représentant la première séquence est "-", c'est la fin de l'entrée. Output Pour chaque ensemble de données, affichez la dernière séquence (chaîne de caractères) sur une ligne.

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		while (true) {
			String a = scanner.next();
			if (a.equals("-")) {
				break;
			}
			int b = scanner.nextInt();
			//Calculez la valeur totale de b lignes
			int sum = 0;
			for (int i = 0; i < b; i++) {
				sum += scanner.nextInt();
			}
			System.out.println(sum); //7
			System.out.println(a); //vwxyz 5
			//Double
			String c = a + a; //vwxyzvwxyz
            //System.out.println(c);
            
            /*Un caractère à la fois dans la chaîne de caractères a,(sum/Chaîne)Je veux le déplacer vers la gauche du montant de
méthode de sous-chaîne
Position de départ:(sum/Chaîne une longueur)Trop 7/5=1...2   2
Position finale:(sum/Chaîne une longueur)Trop+Chaîne une longueur 2+5=9
			*/
			System.out.println(c.substring(sum % a.length(), sum % a.length() + a.length()));
		}
	}
}

Recommended Posts

[Java] Extraire des sous-chaînes (AOJ13 --shuffle)
[Java] Recherche de sous-chaînes / éléments (AOJ12 --ring)
Java pour extraire le contenu de texte PDF
[Java] Type de données / produit matriciel (produit matriciel AOJ ⑧)
[Java] Calcul de tableau / tableau multidimensionnel en sortie (calcul de table AOJ⑥)
Essayez d'extraire la méthode publique de java