Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.04.2011, 16:29   #1
nighthack
Пользователь
 
Аватар для nighthack
 
Регистрация: 01.06.2008
Сообщений: 10
Вопрос Правка кода

Ребять кто может помогите исправить погрешности в коде а то моцк уже перестал варить совсем...

Код:
import java.io.*;
import javax.swing.JOptionPane;
public class VintageCarCollection {

      public String Type;
      public int Year;
      public String Make;

      // Creating constructor method
      public VintageCarCollection(){
          // adding to our object
          Type=JOptionPane.showInputDialog("Enter a Type");
          Year=Integer.parseInt(JOptionPane.showInputDialog("Enter a year"));
          Make=JOptionPane.showInputDialog("Enter a make");

      }
 }



import java.io.*;
import javax.swing.JOptionPane;
// librarys

class Main {


     public static void main(String[] args) {
         //Creating array object
         // type[] name= new type[size]
         VintageCarCollection[] Car= new VintageCarCollection[1000];
         int Counter=0;

         //Creating a simple menu
         String MenuOption=0;


         while(MenuOption!=4)
         {


             MenuOption= JOptionPane.showInputDialog("What would like to do/\n"+
                                         "1.Add\n"+
                                         "2.Search\n"+
                                         "3.Print\n"+
                                         "4.Quit");

             //convert into integer
             int UserChoice=Integer.parseInt(MenuOption);

             //analysing the number
             if (UserChoice==1)
             {
                 Car[Counter]= new VintageCarCollection();
                 Counter++;
             }

             else if (UserChoice==2)
                 Search(Car, Counter);
             else if (UserChoice==3)
                 Print();

         }

     }


         public static void Search(VintageCarCollection[] C, int Size){

             //Askiing the user for search phrase
             String Keyword= JOptionPane.showInputDialog("What are you searching for?");

             boolean check=false;

             for(int i=0;  i<Size; i++)
             {
                 if (C[i].equals(Keyword))
                 {
                     JOptionPane.showMessageDialog("Found "+ Keyword);
                     check=true;
                 }

             }

             if (check==false)
                 JOptionPane.showMessageDialog("Didn't find "+ Keyword);

         }

         public static void Print(VintageCarCollection[] C, int Size)
         {
             // the output
                 for(int i=0;  i<Size; i++)
                 {
                     System.out.println(  VintageCarCollection[i].Type+ " "+ VintageCarCollection[i].Year+ " "+ VintageCarCollection[i].Make);
                 }
         }
 }
nighthack вне форума Ответить с цитированием
Старый 25.04.2011, 18:43   #2
BleStaR
Форумчанин
 
Регистрация: 25.09.2009
Сообщений: 234
По умолчанию

Если под подгрешностями подразумевались ошибки написания:
Код:
import javax.swing.JOptionPane;
// librarys

class Main {

     public static void main(String[] args) {
         //Creating array object
         // type[] name= new type[size]
         VintageCarCollection[] Car = new VintageCarCollection[1000];
         int Counter=0;

         //Creating a simple menu
         String MenuOption = "0";


         while(!MenuOption.equals("4")) {
             MenuOption= JOptionPane.showInputDialog("What would like to do/\n"+
                                         "1.Add\n"+
                                         "2.Search\n"+
                                         "3.Print\n"+
                                         "4.Quit");

             //convert into integer
             int UserChoice = Integer.parseInt(MenuOption);

             //analysing the number
             switch (UserChoice){
                 case 1:{
                     Car[Counter++]= new VintageCarCollection();
                     break;
                 }
                 case 2:{
                     Search(Car, Counter);
                     break;
                 }
                 case 3:{
                     Print(Car, Counter);
                     break;
                 }
             }

         }

     }


         public static void Search(VintageCarCollection[] C, int Size){

             //Askiing the user for search phrase
             String Keyword= JOptionPane.showInputDialog("What are you searching for?");

             boolean check=false;

             for(int i=0;  i<Size; i++){
                 if (C[i].equals(Keyword)){
                     JOptionPane.showMessageDialog(new javax.swing.JFrame(),
                             "Found "+ Keyword);
                     check = true;
                 }

             }

             if (check==false)
                 JOptionPane.showMessageDialog(new javax.swing.JFrame(),
                         "Didn't find "+ Keyword);
         }

         public static void Print(VintageCarCollection[] C, int Size) {
             // the output
             for(int i=0;  i<Size; i++)
                System.out.println(C[i].Type+ " "+ C[i].Year+ " "+ C[i].Make);
         }
 }
BleStaR вне форума Ответить с цитированием
Старый 25.04.2011, 20:16   #3
nighthack
Пользователь
 
Аватар для nighthack
 
Регистрация: 01.06.2008
Сообщений: 10
По умолчанию

Спасиб большое только поиск всё время выдаёт что нечо не находит :/
nighthack вне форума Ответить с цитированием
Старый 26.04.2011, 04:52   #4
BleStaR
Форумчанин
 
Регистрация: 25.09.2009
Сообщений: 234
По умолчанию

Код:
if (C[i].equals(Keyword)){
тут идет сравнение объекта твоего класса со строкой, соответственно условие не даст истину. Это можно исправить как минимум двумя способами:
1) переопределить метод toString и заменить вышеуказанную строку на
Код:
if (C[i].toString().equals(Keyword)){
2) переопределение методов equals, hashCode() и добавить конструктор VintageCarCollection(String type, int year, String make).

разобраться со вторым способом поможет эта страница ))
BleStaR вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
правка данных в DBGrid Марк Охман БД в Delphi 12 04.11.2010 12:56
Работа с описанным классом (C++, правка приведённого кода) Riise Помощь студентам 0 15.10.2010 11:18
Правка hosts kroŧ Общие вопросы Delphi 6 28.06.2010 09:46
Правка-Найти пробелы ZORRO2005 Microsoft Office Excel 2 06.10.2007 01:47