В настоящее время я занимаюсь программированием на первом курсе. Нам даны переменные var buffer, marker, cursor, paste, и наша задача - прочитать определенную область буфера, и в этой области удалить все повторяющиеся символы и снова вставить эту область в буфер, чтобы он обновился.
Имейте в виду, что я выполняю тесты (J-Unit) по своей программе, и в зависимости от того, сколько она прошла, я получаю адекватную оценку. Эта функция в настоящее время не прошла ни одного из тестов. Вот код:
**class** Buffer(s: String) {
import scala.collection.mutable.StringBuilder
private var buffer: StringBuilder = new StringBuilder(s)
private var cursor: Int = 0 private var marker: Int = 0
private var paste: String = ""
private def end: Int = buffer.length
private def lwr: Int = Math.min(marker, cursor)
private def upr: Int = Math.max(marker, cursor)
def dd() {
var MarkerToCursor = ""
var CursorToMarker = ""
var x = ""
var y = ""
//function whcih higlists a certain and then given that reads in characters of the buffer
if(marker < cursor ){
for(x <- marker until cursor)
MarkerToCursor = MarkerToCursor + buffer.charAt(x)
MarkerToCursor.toString
x = MarkerToCursor.distinct
//inserting the highlated area with the string into the buffer and updating it
buffer = new StringBuilder(getString.substring(0, marker) + y+ getString.substring(cursor, end))
cursor = marker + x.length
}
else{
// the same function as the one above except the region consists of charcyters from marker up to cursor.Eveyrything else is the same
for(x <- cursor until marker)
CursorToMarker = CursorToMarker + buffer.charAt(x)
CursorToMarker.toString
y = CursorToMarker.distinct
buffer = new StringBuilder(getString.substring(0, cursor) +y + getString.substring(marker, end))
marker = cursor + y.length }
}
}
}