Member 13954890 Ответов: 1

Как я могу распечатать метки, вызвав getter?


import java.util.Scanner;

public class Employee {
private int marks[]=new int[10];

public int[] getMarks() {
	return marks;
}
public void setMarks(int[] marks) {
	this.marks = marks;
}
}

import java.util.*;

public class MainEmployee
{
public static void main(String args[])
{ 	Scanner sss=new Scanner(System.in);
Employee e1=new Employee();
        System.out.println("enter the no of sub");
	int sub=sss.nextInt();
	int marks[]=new int[10];
System.out.println("Enter marks:");
for(int i=0;i<sub;i++)
{
marks[i]=sss.nextint();
}
e1.setMarks(marks);
 system.out.println("marks are:"+e1.getMarks());

}


Что я уже пробовал:

System.out.println("Enter marks:");
for(int i=0;i<sub;i++)
{
marks[i]=sss.nextint();
}
e1.setMarks(marks);
 system.out.println("marks are:"+e1.getMarks());  //Output:Marks are:[I@42a57993

}

Я хочу распечатать все метки от пользователя с помощью gemarks (), но я получаю мусорное значение. Где я ошибаюсь и как это исправить?Любая помощь будет оценена по достоинству.

Richard MacCutchan

В чем же проблема? Кроме того, пожалуйста, правильно отформатируйте свой код.

Member 13954890

Я хочу распечатать все метки, которые я получил от пользователей с помощью getMarks (), но я получаю некоторое мусорное значение. Где я ошибаюсь и как это исправить?

Richard MacCutchan

Смотреть ниже.

1 Ответов

Рейтинг:
0

Richard MacCutchan

system.out.println("marks are:"+e1.getMarks());

Ваш getMarks() метод возвращает массив, а не то, что можно распечатать. Реализация массива по умолчанию toString() метод просто печатает адрес массива. Вам нужно добавить метод, который печатает отдельные элементы массива.