Advertisement
Aseron

Szorg2

Mar 8th, 2017
359
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.00 KB | None | 0 0
  1.  
  2. public class PenztarGep{
  3.     public static void main(String[] args){
  4.        
  5.         boolean nettoertek = false; // addig false-on tartom, amíg be nem lép a hozzátartozó if-be
  6.         boolean darabszam = false; // addig false-on tartom, amíg be nem lép a hozzátartozó if-be
  7.        
  8.         int brutto = 0; //egeszrekerekitett bruttoertek
  9.    
  10.        
  11.         if(args.length==0){   // ha nincs megadva parameter akkor 0 a hossza
  12.             System.err.println("Hiba! Nincs paraméter!");  
  13.         }
  14.        
  15.         else if(args.length%3==0){  //ha van megadva az osszes termék(minden adattagjával együtt) akkor biztosan osztható 3-mal a hossz
  16.            
  17.            
  18.             byte xfeletermek = (byte)(args.length/3);    //0 db parameter kizárva az előző if miatt, így már csak azt kell kideríteni, hogy hány féle termékünk van
  19.             int[] sum = new int[xfeletermek]; // darab*osszeg*afakulcs tarolasa termekenkent
  20.             int[] AfasTermek = new int[xfeletermek]; // áfa nélkül lehetne short is
  21.  
  22.             byte plusz = 0;   // a plusz bevezetése a következő termékhez szükséges
  23.            
  24.             for(byte i = 0;i<xfeletermek;i++,plusz+=3){ // +3 ciklusonként (attól függ, hogy hány féle temrékünk van)
  25.                                                                            
  26.                     byte j = plusz;  // j értéke az új termék első adattagja lesz
  27.                                
  28.                         while(j<(xfeletermek*3)){  
  29.                        
  30.                                 if(Integer.parseInt(args[j])>100){  // a két feltétel, melyek külön-külöm teljesülésekor a boolean értéke true lesz
  31.                                     System.err.println("A darabszám nem lehet 100-nál nagyobb!");
  32.                                     nettoertek = true;
  33.                                 }else if(Integer.parseInt(args[j+1])>30000){
  34.                                     System.err.println("A nettó érték nem lehet 30000-nél több!");
  35.                                     darabszam = true;
  36.                                 }
  37.                                
  38.                                 float Afa = Integer.parseInt(args[j+2]);  // float típus kell a sum[i]-k számolásához, különben nem tudom törttel szorozni a nettó értéket
  39.                            
  40.                                 int AfaMentesOsszDarab = (Integer.parseInt(args[j])) * (Integer.parseInt(args[j+1]));  //afamentesen a darab*termek
  41.                                 AfasTermek[i] = Math.round((Integer.parseInt(args[j+1]))*((Afa/100)+1));
  42.                                 sum[i] =  Math.round(AfaMentesOsszDarab*((Afa/100)+1)); // elmentem a sum tombbe (termekenkent) az osszegeket
  43.                                 brutto += sum[i];
  44.                                 break;  // ha ezt elhagynánk, végtelen ciklusba lépne, mivel a while-on kívül növeljük a plusz értékét
  45.                                
  46.                            
  47.                         }
  48.            
  49.             }
  50.            
  51.             int MIN = AfasTermek[0];  //lehetne short, persze áfa nélkül
  52.             int MAX = AfasTermek[0];
  53.            
  54.             for(int i = 0;i<xfeletermek;i++){  // egy gyors min/max számolás ciklussal
  55.                 if(AfasTermek[i]>=MAX){
  56.                     MAX = AfasTermek[i];
  57.                 }
  58.             }
  59.             for(int i = 0;i<xfeletermek;i++){
  60.                 if(AfasTermek[i]<=MIN){
  61.                     MIN = AfasTermek[i];
  62.                 }
  63.             }
  64.             if((nettoertek == false) && (darabszam == false)){  // ha egyik boolean sem állítódott át true-ra, csak akkor írja ki az adatokat
  65.             System.out.printf("Összeg: %d Max: %d Min: %d\n", brutto,MAX,MIN);
  66.             }
  67.         }
  68.        
  69.         else{
  70.             System.err.println("Hiba! Nincs minden adat megadva!");
  71.         }
  72.     }  
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement