Mam coś takiego, jak zrobić aby program brał pod uwagę tą metodę ?? Dziękuje za pomoc.
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class Komputer
{
private String nazwaProducenta;
private int cena;
private int szybkoscCPU;
private int iloscPeryferi;
double cena2;
String[] producent = new String[] {"ASUS", "ACER", "TOSHIBA", "LENOVO"};
String[] kolorObudowy = new String [] {"SILVER","GREY","BLACK"};
Scanner sc = new Scanner (System.in);
public Komputer()
{
String naz="";
int cen=0;
int CPU =0;
int ip = 0;
System.out.println("Podaj nazwe producenta składającą się 3 elementów");
naz = sc.nextLine();
System.out.println("Podaj cene");
cen = sc.nextInt();
System.out.println("Podaj szybkość CPU");
CPU = sc.nextInt();
System.out.println("Podaj ilość Peryferii");
ip = sc.nextInt();
setnazwaProducenta(naz);
setcena(cen);
setszybkośćCPU(CPU);
setilośćPeryferi(ip);
}
public Komputer (File plik)
{
plik = new File ("D:\\plik.txt");
try
{
Scanner sc1 = new Scanner (plik);
while (sc1.hasNext() == true)
{
String naz = sc1.next();
int cen = sc1.nextInt();
int cpu = sc1.nextInt();
int ip = sc1.nextInt();
}
sc1.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
public void setnazwaProducenta(String nP1)
{
String nP = nP1.toUpperCase();
String tab[] = nP.split(" ");
if (tab.length == 3)
{
// ============= pierwszy =======================
boolean wynik = false;
for (int i = 0;i<producent.length;i++)
{
if(tab[0].compareTo(producent[i]) == 0)
{
wynik = true;
break;
}
}
if (wynik == false)
{
System.out.println("Pierwszy wyraz w nazwie marki jest nieprawidłowy");
return;
}
// ============= drugi ==============
if (tab[1].length() == 4)
{
if(Character.isDigit(tab[1].charAt(0)) == false)
{
System.out.println("Drugi wyraz w nazwie marki jest nie prawidłowy");
return;
}
}
else
{
System.out.println("Drugi wyraz w nazwie marki jest nieprawidłowy (2)");
return;
}
// ============= trzeci ===========
boolean czykolorObudowy = false;
for(int j = 0 ; j<kolorObudowy.length;j++)
{
if (tab[2].compareTo(kolorObudowy[j]) == 0)
{
czykolorObudowy = true;
break;
}
}
if (czykolorObudowy == false)
{
System.out.println("Trzeci wyraz w nazwie marki jest nie prawidłowy");
return;
}
nazwaProducenta = nP;
}
else
{
System.out.println("Zła konstrukcja marki");
}
}
public void setcena(int c)
{
if (c>1500 && c<5500)
{
cena = c;
return;
}
else
{
System.out.println("Podana cena jest błędna");
}
}
public void setszybkoscCPU (int sC)
{
if (sC>1 && sC<=5)
{
szybkoscCPU = sC;
return;
}
else
{
System.out.println("Podana szybkość CPU jest błędna");
}
}
public void setiloscPeryferi(int iP)
{
if (iP>4 && iP<10)
{
iloscPeryferi = iP;
return;
}
else
{
System.out.println("Podana ilość peryferii jest błędna");
}
}
public String getnazwaProducenta()
{
return nazwaProducenta;
}
public int getcena()
{
return cena;
}
public int getszybkoscCPU()
{
return szybkoscCPU;
}
public int getiloscPeryferi()
{
return iloscPeryferi;
}
public void znizka()
{
// rabat 10%
if(szybkoscCPU<5 && iloscPeryferi<6 && cena>5000)
{
cena2 = cena - (cena*0.1);
System.out.println("Zniżka wynosi 10%");
return;
}
// rabat 5%
if (cena<3000 || cena>5000)
{
cena2 = cena - (cena* 0.05);
System.out.println("Zniżka wynosi 5%");
}
// rabat 3%
else
{
cena2 = cena - (cena*0.03);
System.out.println("Zniżka wynosi 3%");
}
}
@Override
public String toString()
{
return getnazwaProducenta()+" "+getcena()+" "+getszybkoscCPU()+" "+getiloscPeryferi();
}
}