Форум программистов, компьютерный форум, киберфорум
Scala
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 24.11.2019
Сообщений: 19
1

Объясните, пожалуйста, что в данной программе я написал не так

17.07.2020, 11:28. Просмотров 1510. Ответов 10


На входе числа 2 и 6 и строка foobarbaz, на выходе должна получиться fobraboaz.

Java
1
2
3
4
5
6
7
8
9
10
11
12
import scala.io.StdIn
 
object Main {
    def main(args: Array[String]) {
    val startIndex = readLine()
    val endIndex = readLine()
    val str = readLine()
    val result = str.replace(startIndex, endIndex)
    val result = str.replace(startIndex+1, endIndex-1)
    println(result)
    }
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.07.2020, 11:28
Ответы с готовыми решениями:

Объясните пожалуйста, что означает write(p:2) в данной программе и какой будет ответ
Дан фрагмент программы на языке программирования Pascal. Вычислите, что будет выведено на экран...

Объясните пожалуйста, что такое i, j, k в программе
#include "stdafx.h" #include "stdio.h" #include "stdlib.h" #include "locale.h" #include...

Пожалуйста, объясните что не так)
Напишите программу, которая проверяет правильность скобочного выражения с четырьмя видами скобок:...

Пожалуйста объясните, что не так??
Есть код. procedure TMain.N19Click(Sender: TObject); var i,j: integer; B_EL,KOOR_EL,Matrix_A:...

10
Модератор
1455 / 447 / 149
Регистрация: 11.08.2017
Сообщений: 1,521
17.07.2020, 11:33 2
Логично что надо перезаписывать str а не назначать результат новой переменной result
По идее так должно работать, если поменять конец на это
Код
val result = str.replace(startIndex, endIndex)
result = result.replace(startIndex+1, endIndex-1)
println(result)
ПЫСЫ со скалой не знаком
0
0 / 0 / 0
Регистрация: 24.11.2019
Сообщений: 19
17.07.2020, 12:25  [ТС] 3
Исправил все как вы сказали, но при компиляции выводит ошибку
Java
1
2
3
4
5
6
7
8
9
10
11
12
import scala.io.StdIn
 
object Main {
    def main(args: Array[String]) {
    val startIndex = readLine()
    val endIndex = readLine()
    val str = readLine()
    val result = str.replace(startIndex, endIndex)
    result = result.replace(startIndex+1, endIndex-1)
    println(result)
    }
}
Ошибка: Compilation error
Main.scala:9: error: reassignment to val
result = result.replace(startIndex+1, endIndex-1)
^
one error found
0
2971 / 2513 / 778
Регистрация: 05.07.2013
Сообщений: 12,171
17.07.2020, 12:35 4
Цитата Сообщение от Valerian_V Посмотреть сообщение
reassignment to val
какое из слов непонятно?
0
0 / 0 / 0
Регистрация: 24.11.2019
Сообщений: 19
17.07.2020, 12:42  [ТС] 5
Я понял, что там написано предназначено для переменных, но я не понимаю, что нужно исправить (result является же переменной), чтобы все работало.
0
2971 / 2513 / 778
Регистрация: 05.07.2013
Сообщений: 12,171
17.07.2020, 12:59 6
ну либо var, либо str.replace.replace
0
0 / 0 / 0
Регистрация: 24.11.2019
Сообщений: 19
17.07.2020, 13:32  [ТС] 7
Медленно, но верно продвигаюсь к верному решению. Исправил последние 2 строки:

val result = str.replace(startIndex, endIndex).replace(startIndex + 1, endIndex - 1)
println(result)

Теперь выдает ошибку, что данный элемент не является членом строки:

Main.scala:8: error: value - is not a member of String
val result = str.replace(startIndex, endIndex).replace(startIndex + 1, endIndex - 1)

one error found

Как будет правильно убавить и прибавить коэффициент элемента строки, чтобы был 3 и 5 элемент?
0
2971 / 2513 / 778
Регистрация: 05.07.2013
Сообщений: 12,171
17.07.2020, 13:55 8
А кто тебе вообще сказал, что в replace передаются индексы?
0
0 / 0 / 0
Регистрация: 24.11.2019
Сообщений: 19
17.07.2020, 14:11  [ТС] 9
Я долго уже мучаюсь с этой задачей и в итоге, как говориться услышал звон, да не знаю где он, с этим raplace. Поэтому подскажите, пожалуйста, какой метод лучше применить к этой задачке, используя индексы
0
2971 / 2513 / 778
Регистрация: 05.07.2013
Сообщений: 12,171
17.07.2020, 15:20 10
Лучший ответ Сообщение было отмечено Valerian_V как решение

Решение

1) открываешь докуентацию на String
2) ищешь методы, которые могут быть тебе полезны
3) ...
4) ЗКЩАШЕ!...
0
0 / 0 / 0
Регистрация: 24.11.2019
Сообщений: 19
20.07.2020, 15:29  [ТС] 11
С данной задачей разобрался, теперь все работает
Java
1
2
3
4
5
6
7
8
9
object Example {
  def main(args: Array[String]) {
    val numbers = readLine.split(" ").map(_.toInt)
    val a = readLine()
    val start = numbers(0)
    val end = numbers(1) + 1
    print(a.slice(0, numbers(0)) + a.slice(start, end).reverse + a.slice(end, a.length))
  }
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.07.2020, 15:29

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Объясните что не так с указателем в программе
Функция defStart возвращает указатель на int . В main другой указатель присваивает значение(адрес)...

Объясните файловые процедуры в данной программе. Что значит каждое действие, связанное с файлом.
Объясните файловые процедуры в данной программе. Что значит каждое действие, связанное с файлом....

Объясните пожалуйста что за команды используются в программе
Есть следующая программа, объясните пожалуйста как она работает что за формула там V=ob(r) ЧТО ТО?...

объясните, пожалуйста, что я делаю не так
Ошибка LNK2005 "bool __cdecl ForSortForBodyType(struct AutoCars &,struct AutoCars &)"...

Объясните пожалуйста,что я делаю не так
Есть 3 двумерных массива A, B, C. Количество строк и столбцов для них вводит пользователь с...

Коментарии к программе. Объясните пожалуйста что выполняют функции
#include <cstdlib> #include <iostream> using namespace std; typedef struct node { int...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.