four systems Ответов: 1

Ява буферизованный читатель строковой переменной ! разве меняется


код , который записывает в файл, переменная a, которая является строкой типа, изначально
инициализированное значение "не" должно измениться на " "

public class BufferedReaderFromUserAnd
{
    private static final String FILENAME = "F:/Android.txt";   

    public static void main(String args[]) throws IOException
    {
    BufferedWriter bw = null;
    FileWriter fw = null; 
    
    try
    {
    fw = new FileWriter(FILENAME);
    bw = new BufferedWriter(fw);        
    
    BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));  
    System.out.print("Word: "); 
    String Word = reader.readLine();     
    System.out.print("Y: ");    
    String y = reader.readLine();
    System.out.print("The correct answer is: " + y); 
    
    String a = "not" ;
    String b = "not" ;
    String c = "not" ;           
    String d = "not" ;  
    
    if (y==a)
    {
        System.out.print("A: ");
        a = reader.readLine();
        a ="";
    }        
    
    String n = reader.readLine();               
           
    bw.write("<input type='radio' name='rbnNumber' value='You selected (a) " + Word + "  which is "+ a +" the correct answer' />(a) "  + Word + "<br/>");   
    }   
    catch (IOException e) {
    e.printStackTrace();
    } finally 
    {
    try {
	if (bw != null)
	bw.close();
	if (fw != null)
	fw.close();
	} catch (IOException ex) {
	ex.printStackTrace();
	}
    }
    
    
    }   
}


<input type='radio' name='rbnNumber' value='вы выбрали (a) cs, который не является правильным ответом' />(a) cs<br/>

после того, как переменная a будет" ", новая строка должна читать

&ЛТ;входной тип= "радио" имя='rbnNumber' значение='вы выбрали (а) ВС правильный ответ' /&ГТ;(в) в CS&ЛТ;БР/&ГТ;

Что я уже пробовал:

измененный код и поиск классов java

Richard MacCutchan

Что вы вводили в каждой из подсказок?

four systems

потому что это более крупный код, это абстракция. То, что я ввел в подсказках слово это
Андроид; который !делает запись в файл, то, что должно быть записано в файл, - это приглашение Y, которое я ввел a, теперь оно должно быть записано в "" + a+"", но оно не меняется. еще один способ, когда пользователь вводит с консоли изменяется, но причины этого хотите автоматизированной thats, почему этот способ, простой переменной из строки и пишет К + а + писать надо

1 Ответов

Рейтинг:
0

Patrice T

Структуры try/catch не позволяют вам увидеть какие-либо проблемы в коде.
Единственный способ узнать, что делает ваш код, - это удалить try/catch или использовать отладчик.
-----
Научитесь правильно делать отступы в вашем коде, это покажет его структуру, и это поможет чтению и пониманию. Это также помогает выявлять структурные ошибки.

public class BufferedReaderFromUserAnd
{
  private static final String FILENAME = "F:/Android.txt";

  public static void main(String args[]) throws IOException
  {
    BufferedWriter bw = null;
    FileWriter fw = null;

    try
    {
      fw = new FileWriter(FILENAME);
      bw = new BufferedWriter(fw);

      BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
      System.out.print("Word: ");
      String Word = reader.readLine();
      System.out.print("Y: ");
      String y = reader.readLine();
      System.out.print("The correct answer is: " + y);

      String a = "not" ;
      String b = "not" ;
      String c = "not" ;
      String d = "not" ;

      if (y==a)
      {
        System.out.print("A: ");
        a = reader.readLine();
        a ="";
      }

      String n = reader.readLine();

      bw.write("<input type='radio' name='rbnNumber' value='You selected (a) " + Word + "  which is "+ a +" the correct answer' />(a) "  + Word + "<br/>");
    }
    catch (IOException e) {
      e.printStackTrace();
    }
    finally
    {
      try {
        if (bw != null)
          bw.close();
        if (fw != null)
          fw.close();
      }
      catch (IOException ex) {
        ex.printStackTrace();
      }
    }
  }
}

Профессиональные редакторы программистов имеют эту функцию и другие, такие как сопоставление скобок и подсветка синтаксиса.
Блокнот++ Главная Страница[^]
личные[^]


Richard MacCutchan

Использование try/catch не влияет на результат.

Patrice T

try/catch предотвращает получение сообщений об ошибках

Richard MacCutchan

Оба блока ловить IOException и печати трассировки стека, если это происходит. А поскольку остальная часть кода вряд ли выдаст какое-либо исключение, это не имеет никакого значения.

four systems

этот код также не изменяет значение переменной a, a изначально "не", но затем, когда значение вводится в подсказке y a должно измениться на"", и предложение должно гласить: "вы выбрали a, который является правильным ответом", звучит просто, но тогда это !

four systems

бит, который должен изменить а, вот что !действительно ли меняется а

если (y==a)
{
Системы.из.напечатать("а: ");
а = читатель.с readline();
ля ="";
}

Patrice T

Использовать отладчик, чтобы проверить содержание г

four systems

из отладчика y теперь "a", но "a" по-прежнему равно нулю, должно измениться на ""

Patrice T

if (y==a)   // here y is compared with contain of variable a
if (y=="a") // here y is compared with value "a"