Напишите открытый метод firstFifteen(), который возвращает строку, состоящую из первых пятнадцати символов в longNumber

#java #string

#java #строка

Вопрос:

Я начинаю изучать Java, и с контентом, на котором мы учимся, я просто НЕ МОГУ справиться, он мало что объясняет, а просто дает вам мягкий пример и говорит вам сделать это самостоятельно с помощью чего-то совершенно другого. как и выше, мне нужно взять строку ‘longNumber’ и убрать из нее последний символ.

  * Write a description of class CreditCardChecker here.
 * 
 * @author Craig Beverley 
 * @version 03/12/2020
 */
public class CreditCardChecker
{
   // Variable for long numbers to be checked
   public String longNumber;
   public StringBuilder firstFifteen;
 

   /**
    * Constructor for objects of class CreditCardChecker
    * including long number and first fifteen
    */
   public CreditCardChecker(String longNumber)
   {
      // initialise long number variable
      this.longNumber=longNumber;
   }
   /**
    * Sets the value of long number
    */
   public void setLongNumber(String aLongNumber)
   {
      this.longNumber=aLongNumber;
   }

   /**
    * method to get the long number
    */
   public String getLongNumber()
   {
      return this.longNumber;
   } 
  /**
   * method to check that long number has exactly 16 digits
   */    
  public boolean isCorrectLength()
  {
     if (longNumber.length() == 16)
     {
        return (true);
      }
      else
      {
         return (false);
      }
   }
   /**
    * Method to get the first 15 characters of long number
    */
   public String firstFifteen(String longNumber)
   {
    firstFifteen=longNumber.deleteCharAt(16);
   }
}```
 

Комментарии:

1. В вопросе указан последний символ строки. В названии указаны первые 15 символов. Что это?

2. извините. мне нужно удалить последний символ 16-значной строки, чтобы сохранить первые 15 символов

3. Вы уверены, что хотите «удалить»? Вы могли бы использовать setLength или subString вместо этого

4. Кроме того, комментарий к методу, по-видимому, предлагает просто получить значение и вернуть его, фактически ничего не удаляя из StringBuilder .

5. мне также понадобится тот же последний символ на более позднем этапе кода, да, так что, я думаю, это будет опция subString ?

Ответ №1:

Я не совсем уверен, что вам нужно firstFifteen как поле. Вы можете просто захватить первые 15 символов

 return longNumber.substring(0, 15);
 

Вам также не нужен параметр для этого метода, поскольку longNumber это поле

Комментарии:

1. Это великолепно, спасибо, я впервые слышу термин «поле» и «параметр», предполагая, что это просто другая терминология… было ли поле первым пятнадцатым= ? и firstFifteen(строка longNumber) аргумент параметра?

2. public StringBuilder firstFifteen; является полем класса. Аргументы методов иначе называются параметрами