-
Notifications
You must be signed in to change notification settings - Fork 0
Stage-2 data class #2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,52 @@ | ||
| package stage_3 | ||
|
|
||
| import stage_1.Word | ||
| import java.io.File | ||
|
|
||
|
|
||
| fun main() { | ||
|
|
||
| val dictionary = mutableListOf<Word>() | ||
| val wordsFile: File = File("words.txt") | ||
| val wordsList = wordsFile.readLines() | ||
| for(i in wordsList){ | ||
| val line = i.split("|") | ||
| val word = Word(original = line[0], translate = line[1]) | ||
| dictionary.add(word) | ||
| } | ||
| var correctAnswersCount = 0 //Счётчик для выученных слов | ||
|
|
||
| /* val dictionary2 = dictionary.filter { | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. какая функция этого комментария? |
||
| println("Как переводится слово: ${it.original}") | ||
| readlnOrNull() ==it.translate | ||
| }*/ | ||
| val dictionary2 = dictionary | ||
| for (i in dictionary2){ | ||
| println("Как переводится слово: ${i.original}") | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. этого задания нет в описании этапа There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. и мы используем только 1 словарь. это то, что получено из файла |
||
| val userInputAnswer = readLine() | ||
| if(userInputAnswer == i.translate){ | ||
| correctAnswersCount += 1 | ||
| } | ||
| } | ||
|
|
||
|
|
||
| val quantityWords = dictionary.size //Количество слов в словаре | ||
| val percentageRatio = (correctAnswersCount.toFloat() / quantityWords.toFloat()) * 100 | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 33 и 34 лучше перенести туда , где они используются. там же добывать правильные слова. нужен порядок в коде. чтобы ничего лишнего не было за пределами when/цикла, если это не переиспользуется еще где-то |
||
|
|
||
|
|
||
|
|
||
| do{ | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. тут достаточно классического цикла while true |
||
| println("Меню: 1- Учить слова, 2 - Статистика, 0 - Выход") | ||
| println("Выберите нужный пункт меню") | ||
| val userInput = readLine()!!.toInt() | ||
| when(userInput){ | ||
| 2 -> println("Количество слов в словаре: $quantityWords\nВыучено слов $correctAnswersCount из $quantityWords | $percentageRatio%") | ||
| 0 -> break | ||
| else -> println("Такого пункта меню не существует, попробуйте ещё раз") | ||
| } | ||
| }while(true) | ||
| } | ||
| data class Word( | ||
| val original:String, | ||
| val translate:String | ||
| ) | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,3 +1,4 @@ | ||
| hello привет | ||
| dog собака | ||
| cat кошка | ||
| hello|привет | ||
| dog|собака | ||
| cat|кошка | ||
| thank you|спасибо |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
это не просто переменная, а поле класса Word. такая же часть сущности, как и оригинал и перевод