Anonymous
Сортировка массива объектов в Java
Сообщение
Anonymous » 10 ноя 2025, 06:30
Я пытаюсь создать Java-приложение, которое позволяет пользователю создавать каталог для супермаркета, а затем отображать все продукты, которые пользователь ввел в каталог, в порядке возрастания в соответствии с кодом, введенным пользователем. Я искал его и обнаружил, что могу использовать метод под названием «сортировка», но проблема: я пытался его реализовать, но он у меня не работает, и я не знаю, где его поместить в свой код.
Код, который я написал: 2 класса, класс 1:
Код: Выделить всё
public class Catalog {
private String description ;
private String code ;
private double price ;
private String phrase ;
int counter = 0;
private Catalog [] list = new Catalog [100];
public Catalog (String productDescription , String productCode , double productPrice , String productPhrase)
{
description = productDescription;
code = productCode;
price = productPrice;
phrase = productPhrase;
}
public void setDescription (String productDescription)
{
description = productDescription;
}
public String getDescription ()
{
return description;
}
public void setCode (String productCode)
{
code = productCode;
}
public String getCode ()
{
return code;
}
public void setPrice (double productPrice)
{
price = productPrice;
}
public double getPrice ()
{
return price;
}
public void setPhrase (String productPhrase)
{
phrase = productPhrase;
}
public String getPhrase ()
{
return phrase;
}
класс 2:
Код: Выделить всё
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class CatalogTest {
public static void main(String[] args) throws IOException {
String name = null;
String code = null;
double price = 0.0;
String phrase = null;
BufferedReader input = new BufferedReader (new InputStreamReader (System.in));
Catalog product = new Catalog(name,code,price,phrase);
Catalog [] productsArray = new Catalog [100];
for (int i = 0 ; i < productsArray.length ; i ++)
{
System.out.println("Enter product description (or # to stop): ");
name = input.readLine();
if (!("#".equals(name)))
{
productsArray [i] = product;
product.setDescription(name);
System.out.println("Enter product code: ");
code = input.readLine();
productsArray [i] = product;
product.setCode(code);
System.out.println("Enter product unit price: ");
price = Double.parseDouble(input.readLine());
productsArray [i] = product;
product.setPrice(price);
System.out.println("Enter product unit phrase: ");
phrase = input.readLine();
productsArray [i] = product;
product.setPhrase(phrase);
productsArray [i] = new Catalog (name,code,price,phrase);
}
else
{
System.out.println("Your Catalog:");
for (int j = 0; j < productsArray.length; j++)
{
if(productsArray[j]!=null)
{
System.out.printf("%s, %s,$%.2f %s,",
productsArray[j].getCode(),
productsArray[j].getDescription(),
productsArray[j].getPrice(),
productsArray[j].getPhrase());
System.out.println();
}
}
break;
}
}
}
}
Пожалуйста, помогите??
Подробнее здесь:
https://stackoverflow.com/questions/147 ... ts-in-java
1762745416
Anonymous
Я пытаюсь создать Java-приложение, которое позволяет пользователю создавать каталог для супермаркета, а затем отображать все продукты, которые пользователь ввел в каталог, в порядке возрастания в соответствии с кодом, введенным пользователем. Я искал его и обнаружил, что могу использовать метод под названием «сортировка», но проблема: я пытался его реализовать, но он у меня не работает, и я не знаю, где его поместить в свой код. Код, который я написал: 2 класса, класс 1: [code]public class Catalog { private String description ; private String code ; private double price ; private String phrase ; int counter = 0; private Catalog [] list = new Catalog [100]; public Catalog (String productDescription , String productCode , double productPrice , String productPhrase) { description = productDescription; code = productCode; price = productPrice; phrase = productPhrase; } public void setDescription (String productDescription) { description = productDescription; } public String getDescription () { return description; } public void setCode (String productCode) { code = productCode; } public String getCode () { return code; } public void setPrice (double productPrice) { price = productPrice; } public double getPrice () { return price; } public void setPhrase (String productPhrase) { phrase = productPhrase; } public String getPhrase () { return phrase; } [/code] класс 2: [code]import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class CatalogTest { public static void main(String[] args) throws IOException { String name = null; String code = null; double price = 0.0; String phrase = null; BufferedReader input = new BufferedReader (new InputStreamReader (System.in)); Catalog product = new Catalog(name,code,price,phrase); Catalog [] productsArray = new Catalog [100]; for (int i = 0 ; i < productsArray.length ; i ++) { System.out.println("Enter product description (or # to stop): "); name = input.readLine(); if (!("#".equals(name))) { productsArray [i] = product; product.setDescription(name); System.out.println("Enter product code: "); code = input.readLine(); productsArray [i] = product; product.setCode(code); System.out.println("Enter product unit price: "); price = Double.parseDouble(input.readLine()); productsArray [i] = product; product.setPrice(price); System.out.println("Enter product unit phrase: "); phrase = input.readLine(); productsArray [i] = product; product.setPhrase(phrase); productsArray [i] = new Catalog (name,code,price,phrase); } else { System.out.println("Your Catalog:"); for (int j = 0; j < productsArray.length; j++) { if(productsArray[j]!=null) { System.out.printf("%s, %s,$%.2f %s,", productsArray[j].getCode(), productsArray[j].getDescription(), productsArray[j].getPrice(), productsArray[j].getPhrase()); System.out.println(); } } break; } } } } [/code] Пожалуйста, помогите?? Подробнее здесь: [url]https://stackoverflow.com/questions/14716900/sorting-an-array-of-objects-in-java[/url]