Nesneleri bir dizide depolamaya ve daha sonra yazdırmaya çalışın. Gerçek konumu yerine bellekte tutmaya devam edin. İçeriğin nasıl kaydedileceğini ve yerlerin nasıl kaydedileceğini hatırlayamıyorum. Dizideki tek nesne nesnesini yazdırma. Java
case VIEW_RECIPE:
System.out.println("Please enter the recipe ID:");
searchIndex = input.nextInt();
System.out.println(recipeArray[searchIndex-1]);
break;
case CREATE_RECIPE:
Recipe recipe = new Recipe();
recipeArray[recipe.getRecipeId() -1] = recipe; //-1 to store in element 0;
break;
yüzden yazdırmak nasıl recipeArray [] endeksi 0, bir tarifi vardır varsayarak. Bu kod sadece hafıza yerini verir ve döngüsel olarak kullanmak pratik değildir.
kodu
System.out.println(Arrays.toString(recipeArray[searchIndex-1]));
denedik ama toString deepToString gerektiğini veya dizi uzun olacağını söylüyor.
DÜZENLEME: Burada tarifi sınıf için isteniyor sonra başka
package potluck;
import java.util.*;
public class Recipe {
private int recipeId = 0;
private Scanner input = new Scanner(System.in);
private String attribution;
private String dateAdded;
private String category;
private String listOfIngredients;
private String tags;
private String steps;
private String comments;
public Recipe(){ //constructor
recipeId += 1;
setAttribution();
setDateAdded();
setCategory();
setListOfIngredients();
setTags();
setSteps();
System.out.println("Thank you for the recipe, it's Id is "+recipeId);
System.out.println("Use this to find it later.");
System.out.println();
}
herşey Sen Reçete sınıfında toString()
methond geçersiz kılar Alıcılar ve ayarlayıcılar
Tarif sınıfını paylaşabilir misiniz? Ne tür bir veri kullandığınızı görmek isterim. –
'Recipe' toString() 'yi geçersiz kılar mı? – Mureinik
İçeriği zaten yazdırıyorsunuz. Sadece varsayılan 'toString()' yöntemi (java.lang.Object' den miras alınan) bellek konumunu yazdırır. –