Не могу понять что не так, проверяю на пустом тхт файле и выдает ошибку
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: begin 0, end 8, length 1
at java.base/java.lang.String.checkBoundsBeginEnd(String.java:3751)
at java.base/java.lang.String.substring(String.java:1907)
at com.javarush.task.task18.task1827.Solution.main(Solution.java:28)
при чем вначале все нормально добавляло, потом что то изменил и теперь так, помогите разобраться
package com.javarush.task.task18.task1827;
public class Product {
public String productName;
public String price;
public String quantity;
public Product(String productName, String price, String quantity) {
this.productName = productName;
this.price = price;
this.quantity = quantity;
}
public String setNameLength(){
if (productName.length() < 30){
while (productName.length() < 30) {
productName += " ";
}
}
else if (productName.length() > 30){
productName.substring(0, 30);
}
return productName;
}
public String setPriceLength(){
if (price.length() < 8){
while(price.length() < 8) {
price += " ";
}
}
else if (price.length() > 8){
price.substring(0, 8);
}
return price;
}
public String setQuantityLength(){
if (quantity.length() < 4){
while (quantity.length() < 4) {
quantity += " ";
}
}
else if (quantity.length() > 4){
quantity.substring(0, 4);
}
return quantity;
}
}