import java.io.*;
import java.util.*;
public class GentCanadian
{
public static void main (String[] args) throws IOException
{
BufferedReader objReader = new BufferedReader (new InputStreamReader (System.in));
String lowerInput = ""; // declaring variable to work outside the loop
while (!lowerInput.equals("quit"))
{
System.out.print ("Please enter a sentence to translate (Enter 'quit' to leave)");
String input = objReader.readLine ();
lowerInput = input.toLowerCase(); // any form of "quit" will make the loop exit
Translate newSentence = new Translate(input);
String output = newSentence.getOutput();
System.out.println (output); // printing output
}
}
}
class Translate
{
// declaring variables
private String word = "";
private String newWord = "";
private String line = "";
private String output = "";
private char lastLetter;
private char secondLastLetter;
private int wordLength;
Translate(String l)
{
line = l;
Translation();
getOutput(); // accessor method
}
private void Translation()
{
Scanner freader = new Scanner(line);
StringBuffer newPhrase = new StringBuffer ("");
while (freader.hasNext())
{
String word = freader.next();
wordLength = word.length(); // gets the length of each word
if (wordLength >= 5)
{
lastLetter = word.charAt(wordLength - 1);
secondLastLetter = word.charAt(wordLength - 2);
if (secondLastLetter == 'o' && lastLetter == 'r') // last two letters must be "OR"
{
String word2 = word.substring(0, wordLength - 2); // extracts all letters but the "OR"
newWord = word2.concat("our"); // adds "OUR" to the end of the word
}
else
{
newWord = word; // keeps the same word
}
}
else
{
newWord = word;
}
newPhrase.append(newWord);
newPhrase.append(' '); // add a space
output = newPhrase.toString(); // convert back to a string
}
}
String getOutput()
{
return output; // returns the whole output
}
}
Я получаю сообщение об ошибке на drJava, который является компилятором, который должен использовать мой класс, в котором я не получаю никакой другой компилятор для java.В строке 17, когда у меня есть оператор lowerInput = input.toLowerCase ();это дает мне ошибку, говоря, что я не могу присвоить значение lowerInput, потому что оно является неизменным и уже получило значение.Если кто-нибудь знает, как я могу исправить эту ошибку, пожалуйста, ответьте, как мне нужно, чтобы выяснить это.