본문 바로가기
코딩라이브러리/Dart

[Dart] 코딩 연습 입출력 코드 방법

by 유니네 라이브러리 2024. 6. 10.

Dart 언어로 코딩 연습을 할 때 입출력 방법

dart:io 라이브러리를 임포트 하여 사용한다.

 

  • 문자열 입력 받을 때
    String? str = stdin.readLineSync()!;
//입력을 받기하기 위해서는 dart:io 라이브러리를 import 한다. 
import 'dart:io';
void main() {  
  //문자열 받기
  stdout.write('문자열 입력하세요. :  ');	
  String? str = stdin.readLineSync()!;
  //String str = stdin.readLineSync().toString(); 도 가능
  print("입력값은 :" + str);  
}
/*
문자열 입력하세요. :  sky
입력값은 :sky
*/
  • 리스트로 문자열 입력받을 때
    List<String?> lst = stdin.readLineSync()!.split(" ");
//입력을 받기하기 위해서는 dart:io 라이브러리를 import 한다. 
import 'dart:io';
void main() {
  
  //리스트로 문자열 받기
  stdout.write('문자열을 공백 구분하여 여러개 입력하세요. :  ');  
  List<String?> lst = stdin.readLineSync()!.split(" ");
  //List<String> lst = stdin.readLineSync().toString().split(" "); 도 가능
  String value = "";
  for (int i = 0; i < lst.length; i++) {
    value = lst[i].toString();
    print("리스트 입력 $i 번째 값은 $value");
  }
  
}
/*
문자열을 공백 구분하여 여러개 입력하세요. :  blue red white
리스트 입력 0 번째 값은 blue
리스트 입력 1 번째 값은 red
리스트 입력 2 번째 값은 white
*/
  • 정수형으로 입력 받을 때
    int? no = int.parse(stdin.readLineSync()!);
//입력을 받기하기 위해서는 dart:io 라이브러리를 import 한다. 
import 'dart:io';
void main() {
  
  //정수형으로 데이터 받는 경우
  /*
    만약, String 형이 입력되면 아래와 같은 오류 메세지 나온다.
    Unhandled exception:
    FormatException: Invalid radix-10 number (at character 1)
  */
  stdout.write('숫자를 입력하세요. :  ');
  int? no = int.parse(stdin.readLineSync()!);
  //int no = int.parse(stdin.readLineSync().toString()); 도 가능
  print("입력받은 숫자는 $no");
  
}
/*
숫자를 입력하세요. :  10
입력받은 숫자는 10
*/
  • 리스트로 정수형 입력 받을 때
    List<int> nolst = stdin.readLineSync()!.split(" ").map((e)=>int.parse(e)).toList();
//입력을 받기하기 위해서는 dart:io 라이브러리를 import 한다. 
import 'dart:io';
void main() {
  
  //리스트로 정수형 받기
  //문자열이 입력되면 아래 에러 메시지 발생
  //Unhandled exception:
  //FormatException: Invalid radix-10 number (at character 1)
  stdout.write('숫자를 공백 구분하여 여러개 입력하세요. :  ');
  List<int> nolst = stdin.readLineSync()!.split(" ").map((e)=>int.parse(e)).toList();
  //List<int> nolst = stdin.readLineSync().toString().split(" ").map((e)=>int.parse(e)).toList(); 도 가능
  int element = 0;
  for (int i = 0; i < nolst.length; i++) {
    element = nolst[i];
    print("리스트 입력 $i 번째 값은 $element");
  }
  
}
/*
숫자를 공백 구분하여 여러개 입력하세요. :  10 11 12
리스트 입력 0 번째 값은 10
리스트 입력 1 번째 값은 11
리스트 입력 2 번째 값은 12
*/

 

☞ Dart 자습서 참고 사이트

https://dart-ko.dev/tutorials/server/cmdline#stdin

 

Write command-line apps

Basics for command-line apps.

dart-ko.dev