сделайте так, чтобы слово записывалось с помощью циклов — язык программирования dart

#loops #dart

#циклы #dart

Вопрос:

например, я пишу код, подобный этому :

 main() {
  var input = 'i want to eat';
  print(input);
  var katas = input.split(' ');
  bool hurufHabis = false;
  var indexHuruf = 0;
  do {
    hurufHabis =false;
    var baris = 'Baris  ${(indexHuruf 1).toString().padLeft(2)} : ';
    for (var kata in katas) {
      if(indexHuruf < kata.length){
        baris  = kata[indexHuruf]   '   ';
        hurufHabis = true;
      }else{
        baris  =   '    ';
      }
    }
    indexHuruf  ;
    if(hurufHabis)  print(baris);
  } while (hurufHabis);
}
  

и результат будет таким:

 i want to eat  
Baris   1 : i  w   t   e     
Baris   2 :    a   o   a     
Baris   3 :    n       t       
Baris   4 :    t             
  

как я могу изменить его, чтобы оно было таким :

 i want to eat
Baris   1 :     w          
Baris   2 :     a      e    
Baris   3 :     n   t  a    
Baris   4 : i   t   o  t     
  

я не могу представить, чтобы метод был таким, чтобы любая помощь оценивалась. Спасибо

Ответ №1:

Простым решением могло бы быть удаление левых слов, чтобы все они имели одинаковую длину:

 var katas = input.split(' ');
var maxLength = katas.map((e) => e.length).reduce(max);
katas = katas.map((e) => e.padLeft(maxLength)).toList();
  

Комментарии:

1. Когда я пишу это, там написано неопределенное имя ‘max’, что я должен заполнить для max?

2. Вам нужно импортировать dart:math .