2015-08-21 2 views
0

Я изучаю java с bluej и ориентированной на объект ориентированной книгой, и мы застряли на этой специфической части упражнения: «setRefNumber мутатор, чтобы он задавал поле refNumber только в том случае, если параметр представляет собой строку в менее трех символов. Если оно меньше трех, напечатайте сообщение об ошибке и оставьте поле неизменным ». , что я должен попытаться сделать:Как создать условный оператор, сравнивающий длину строки?

public void setRefNumber (String ref) 
{ 
    refnumber = ref; 
    if (len < 3) { 
     System.out.println("reference number must have at least 3 characters"); 
    } 
    else {  
    refnumber = ref; 
    } 

ответ

1

Вы должны фактически использовать длину функции(), которая является частью библиотеки строки. Смотри ниже. Если исправить ваши проблемы

public void setRefNumber (String ref) 
{ 
refnumber = ref; 
if (ref.length() < 3) { 
    System.out.println("reference number must have at least 3 characters"); 
} 
else {  
refnumber = ref; 
} 
1

Вы должны установить RefNumber после проверки, является ли длина больше 3, так что вы должны использовать функцию «длины()» java.lang.String. Вы можете проверить длину строки ref на код 'ref.length()'. Из этого вы можете проверить, больше ли длина. 3.

Кроме того, вам не нужно назначать переменную 'refNumber' перед проверкой длины переменной 'ref'. Вы можете просто удалить эту строку, поскольку присваиваете значение только тогда, когда длина больше 3, поэтому строка кажется излишней.

Вы можете увидеть код ниже:

public void setRefNumber (String ref) 
{ 
    //not needed 
    //refnumber = ref; 
    if (ref.length() < 3) { 
     System.out.println("reference number must have at least 3 characters"); 
    } 
    else { 
     //refNumber being asssigned here  
     refnumber = ref; 
    } 
} 
+0

Это работает! Большое вам спасибо за код и ваше объяснение. – Youmayrun

0
public void setRefNumber (String ref) 
{ 
    if (ref.length() < 3) { 
     System.out.println("reference number must have at least 3 characters"); 
    } 
    else {  
    refnumber = ref;// only when ref's length >=3 
    } 

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