Realizacja pętli

0

Czesc

W swoim programie który piszę muszę wczytać dane z pliku o postaci:

5 10
0 0 0
0 10 0
10 10 0
0 0 10
1 wiersz odpowiednio liczba pracowników pomniejszona o 1 i liczba pudełek ( które są uszeregowane rosnąco- szukanie zaczynamy od lewej strony)
kolejne wiersze to parametry osób szukających towaru np. w magazynie tj. o zakres widzialności, p czas przejścia i r czas przeszukania
i wyliczyć najniższy współczynnik k który jest sumą wartości p i r dla każdego pracownika. Należy uwzględnić zakres widzialności tzn. Szukamy pudełek których w danym momencie nie widzi pracownik tzn. stoimy przy 1 pudełku zakres widzialności jest 1 więc przeskakujemy nie do 2 a do 3 pudełka

Praktyczny przykład dla 0 10 0 zakres widzialności 0 wiec najniższe k osiągniemy dla wartości 1 bo czas który zużyjemy będzie (1-0)*p + r bo dla wartości 2 czas będzie 2 razy większy itd.

Tak więc na wyjściu powinniśmy otrzymać wartości
9
1
9
9

Mam problem z pętlą

import java.util.*;
import java.io.*;
public class Main
{
    public static void main(String args[]) throws IOException
    {
        Scanner scan= new Scanner(new File("a.txt"));
        ArrayList<ArrayList<Integer>> liczby = new ArrayList<ArrayList<Integer>>();
        while (scan.hasNextLine())
        {
            String line=scan.nextLine();
            ArrayList<Integer> list=new ArrayList<Integer>();
            Scanner sc = new Scanner(line);
            while(sc.hasNextInt())
            {
                list.add(sc.nextInt());
            }
            for(Integer wart:list)
            {
                System.out.print(wart+" ");
            }
            System.out.println();
            liczby.add(list);
        
        }
        /*
         * jak zapisać wartości p o r??
         * int p = liczby.get(1).get(0)
         * int o = liczby.get(1).get(1)
         * int r = liczby.get(1).get(2)
         * 
         * czy w pętli zeby zmieniać dynamicznie?
         */
    	
        for(int i=1;i<liczby.get(1).get(0);i++)
        {
            int k=0;
            for(int j=liczby.get(i).get(0);j<=liczby.get(i).get(1);j++)
            {
                // wyliczenie k? dla każdego k czyli robimy oszacowanie czasu = r+ (k)*p dla najmniejszej wartości
            	k+=1;
            }
            System.out.println(k);
        
        }
    }
}

<ort>Proźba </ort>o pomoc

Pozdr

0

Pytanie do 1 linii pętli

for(int i=1;i<liczby.get(1).get(0);i++)

w jaki sposób ustawić zmianę wartości i o wartość określoną parametrem o zwiększonym o 1

for(int i=1;i<liczby.get(1).get(0);i++(o+1))??

0

i += o + 1

0

"a++" to to samo co "a = a + 1"
"a += b" to to samo co "a = a + b"

studentka pewnie myśli, że "i++" to magiczna składnia tylko dla for'a.

0

mi się rzuciło w oczy coś innego...

public static void main(String args[])

czy nie powinno być

public static void main(String[] args)

??

0
tito napisał(a)

mi się rzuciło w oczy coś innego...

public static void main(String args[])

czy nie powinno być

public static void main(String[] args)

??

W Javie można i tak i tak.

1 użytkowników online, w tym zalogowanych: 0, gości: 1