Creare testo in modo efficiente
Fa parte della sezione Logica e flusso del percorso Kotlin di Coddy. Lezione 47 di 63.
StringBuilder accumula testo con chiamate a append, poi toString produce la String finale. Puoi aggiungere etichette, numeri e separatori all'interno di un ciclo senza ricostruire manualmente un'intera String immutabile a ogni passaggio. Decidi esattamente dove inserire i separatori.
All'interno di main:
val result = StringBuilder()
for (n in 1..3) {
if (n > 1) result.append("-")
result.append(n)
}
println(result.toString())Il separatore viene aggiunto prima di ogni elemento tranne il primo, evitando un trattino finale.
Usa StringBuilder.append per il testo incrementale e toString per la String finale.
Sfida
MedioCompleta numberLine con il parametro count: Int. Usa StringBuilder per restituire i numeri da 1 a count separati da un singolo trattino, senza trattini iniziali o finali. count è compreso tra 0 e 20; zero restituisce una stringa vuota.
Salvo limiti più restrittivi indicati sopra, le raccolte contengono al massimo 100 elementi a ciascun livello e gli argomenti interi e i valori interi delle raccolte sono compresi tra -1000 e 1000. Il testo fornito per l'analisi può includere rappresentazioni non valide o fuori intervallo, come descritto.
Restituisci un valore di tipo String. Mantieni il codice di input/output fornito. Legge gli argomenti scalari uno per riga; una lista inizia con il suo conteggio seguito dai suoi elementi e una mappa inizia con il conteggio delle sue voci seguito da ciascuna chiave e valore. Le liste annidate ripetono il formato conteggio-elementi per ogni riga. Il main fornito stampa il valore restituito seguito da un carattere di nuova riga. Le liste usano il formato standard tra parentesi quadre di Kotlin; non stampare etichette aggiuntive.
Provalo tu
fun numberLine(count: Int): String {
// Scrivi qui la tua soluzione.
return ""
}
fun main() {
val count = readln().toInt()
println(numberLine(count))
}Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Logica e flusso
1Mappe Parte 1
Creare mappeConsultare le mappe in modo sicuroAggiornare le mappeControllare le chiaviRiepilogo - Banco di borsa4Collezioni annidate
Liste di listeAttraversare le righeRiepiloghi delle righeAppiattire liste annidateRipasso - File di posti a sedere7Pipeline di collezioni
Trasformare con MapFiltrare i valoriVerificare le regole della collezioneAccumulare con FoldRiepilogo - Totali approvati10Elaborazione del testo
Suddividere e unireCreare testo in modo efficienteIndividuare schemi nel testoTrovare e sostituireRiepilogo - Codice più pulito2Mappe Parte 2
Iterare sulle voci delle mappeChiavi e valoriMappe di frequenzaMappe annidateRiepilogo - Report delle frequenze5Progetto - Rubrica
Salva contattiTrova contatti3Insiemi e appartenenza
Creare insiemiAggiornare gli insiemiOperazioni sugli insiemiVerificare i sottoinsiemiRiepilogo - Ospiti dell'evento6Valori delle funzioni
Scrivere funzioni lambdaTipi di funzionePassare funzioniVariabili catturateRiepilogo - Punteggio configurabileEsercitati da solo: Playground Kotlin