Как выбрать память в массиве, который я создаю после отображения значения массива. как выбрать значение с помощью cin при запуске программы

Вы можете создать свою собственную функцию JSP. http://java.sun.com/j2ee/1.4/docs/tutorial/doc/JSPTags6.html

Это примерно то, что вам нужно сделать.

Создать файл дескриптора библиотеки тегов /src/META-INF/sf.tld



  1.0
  sf
  http://www.stackoverflow.com
  
    clean
    com.stackoverflow.web.tag.function.TagUtils
    
      java.lang.String clean(java.lang.String)
    
  

Создать класс Java для логики функций. com.stackoverflow.web.tag.function.TagUtils

package com.stackoverflow.web.tag.function;

import javax.servlet.jsp.tagext.TagSupport;

public class TagUtils extends TagSupport {
  public static String clean(String comment) {
    return comment.replaceAll("\n", "; ");
  }
}

В вашем JSP вы можете получить доступ к своей функции следующим образом.

<%@ taglib prefix="sf" uri="http://www.stackoverflow.com"%>
${sf:clean(item.comments)}

-1
задан Kwok Gang ming 2 March 2019 в 04:29
поделиться

1 ответ

На основании вашего обновленного запроса, запрашивая условие выхода, я изменил код. Обратите внимание, что я использовал getline(cin, answer) для обработки ввода. Я использую getline (), потому что у меня меньше шансов запутаться, когда я использую getline() вместо cin >> answer.

Обратите внимание, что getline (cin, answer) делает несколько вещей для вас:

  • Возвращает true, если вход был получен
  • Заполняет ответ
  • [ 1110] Получает всю строку, пока пользователь не предоставит новую строку

Таким образом, строка while (std::getline(std::cin, answer) && answer != "n") получит всю книгу, даже если есть пробелы. & Amp; & amp; позволяет проверить ответ для «n» перед входом в тело цикла while. Поскольку ответом является std::string, сравнение проводится с "n", а не с 'n'.

Если это работает для вас, пожалуйста, примите ответ. Удачи!

#include <iostream>
#include <string>
#include <iomanip> // setprecision

int main()
{

  std::string bookname[5] =
      {"STPM BOOKS", "SPM BOOKS", "PMR BOOKS", "TEXT BOOK", "PRACTICAL BOOK"};

  float price[5] = {30.90, 24.90, 19.90, 45.90, 15.90};

  std::string answer;
  float cost;

  std::cout << "Please provide the name of a book or type 'n' to exit"
            << std::endl;
  // get one line into answer, and also exit while if answer is "n"
  while (std::getline(std::cin, answer) && answer != "n") {  
    bool found = false;
    for (int i = 0; i < 5; i++) {
      if (bookname[i] == answer) {
        std::cout << "The book " << bookname[i] << " costs $" << std::fixed
                  << std::setprecision(2) << price[i] << std::endl;
        found = true;
        break; // /no need to continue inside the for loop
      }
    }

    // on last loop, give up
    if (!found) {
      std::cout << "The book " << answer << " is not in our inventory"
                << std::endl;
    }
  }

}
0
ответ дан Gardener 2 March 2019 в 04:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: