[Java] Teilzeichenfolgen extrahieren (AOJ13 --shuffle)

Extrahieren Sie einen Teilstring aus einem String

public class Main {
	public static void main(String[] args) {
    String str = "Warum ist die Katze so MOFU?";
    //10~Extrahieren Sie bis zum 14. Zeichen
    String mofu= str.substring(10,15);
    //Zeigen Sie Yamazaki
    System.out.println(mofu); //MOFU
    }
}

Mischen (ITP1-9)

Mische einen Stapel von n Karten mit einem darauf gezeichneten Alphabet. In einem Shuffle nehmen Sie die h-Karten von unten heraus und stapeln sie oben auf dem verbleibenden Kartenstapel. Der Kartenstapel wird wie folgt durch eine Zeichenkette angegeben. abcdeefab Der erste Buchstabe zeigt die Karte unten an, und der letzte Buchstabe zeigt die Karte oben an. Wenn Sie dies beispielsweise mit einem h von 4 mischen, werden die ersten 4 Zeichen abcd mit dem Ende der verbleibenden Zeichen eefab verkettet. eefababcd Wiederholen Sie diesen Vorgang mehrmals. Erstellen Sie ein Programm, das die erste Sequenz (Zeichenfolge) und die Spalte h des Kartenstapels liest und die letzte Sequenz (Zeichenfolge) ausgibt. Input Als Eingabe werden mehrere Datensätze angegeben. Jeder Datensatz wird im folgenden Format angegeben: Eine Zeichenfolge, die die erste Sequenz darstellt Shuffle count m h1 h2 . . hm Wenn die Zeichenfolge, die die erste Sequenz darstellt, "-" ist, ist dies das Ende der Eingabe. Output Geben Sie für jeden Datensatz die letzte Sequenz (Zeichenfolge) in einer Zeile aus.

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();
			//Berechnen Sie den Gesamtwert für b Zeilen
			int sum = 0;
			for (int i = 0; i < b; i++) {
				sum += scanner.nextInt();
			}
			System.out.println(sum); //7
			System.out.println(a); //vwxyz 5
			//Doppelt
			String c = a + a; //vwxyzvwxyz
            //System.out.println(c);
            
            /*Jeweils ein Zeichen in der Zeichenfolge a,(sum/String)Ich möchte es um den Betrag von nach links verschieben
Teilstring-Methode
Startposition:(sum/String eine Länge)Zu viel 7/5=1...2   2
Endposition:(sum/String eine Länge)Zu viel+String eine Länge 2+5=9
			*/
			System.out.println(c.substring(sum % a.length(), sum % a.length() + a.length()));
		}
	}
}

Recommended Posts

[Java] Teilzeichenfolgen extrahieren (AOJ13 --shuffle)
[Java] Suche nach Teilzeichenfolgen / Elementen (AOJ12 --ring)
Java zum Extrahieren von PDF-Textinhalten
[Java] Datentyp / Matrixprodukt (AOJ ⑧ Matrixprodukt)
[Java] Mehrdimensionale Array- / Tabellenberechnung ausgeben (AOJ⑥-Tabellenberechnung)
Versuchen Sie, die öffentliche Java-Methode zu extrahieren