Koliko sam razumeo, tvoj problem je kako da prosledis koeficijente sistema jednacina programu.
npr.:
A1*x + B1*y + C1*z = D1
A2*x + B2*y + C2*z = D2
A3*x + B3*y + C3*z = D3
ovde treba "ucitati" ove koeficijente i postaviti odgovarajuce elemente u matrici.
1. Mozes da ih predas kao parametre pri pozivanju programa. To se radi ovako:
Code:
public static void main(String[] argumenti) { ... }
U main metodi imas vidljiv niz String-ova argumenti. Ti argumenti se postavljaju prilikom pozivanja tvog programa. Recimo da se program zove sistem_jed.
Pozivaces ga ovako:
Code:
sistem_jed A1 B1 C1 D1 A2 B2 C2 D2 A3 B3 C3 D3
U programu ces moci da dodjes do ovih vrednosti preko argumenti[0], argumenti[1]...
Samo pazi ovo argumenti[0]... su Stringovi pa ces morati da radis konvertovanje u broj:
Code:
Double.parseDouble(argumenti[0])
Kao sto vidis ovoo je dosta glomazno za veliki broj parametara i mozda je bolje resenje 2.
2. Mozes da koristis klasu Citaj, koju je napisao asistent Laslo Kraus sa Elektrotehnickog Fakulteta, a izvorni kod je dat ispod (ne znam kako da napravim attachment na poruci)
Code:
// Citaj.java - Citanje podataka standardnih tipova preko glavnog ulaza.
// (verzija za SDK 1.2.2)
public final class Citaj {
private static char c; // Poslednji procitani znak.
public static char getCh () { // Dohvatanje sledeceg znaka.
try { return c = (char)System.in.read(); }
catch (Exception e) { return c = ' '; }
}
public static char Char () { // Citanje jednog (ne belog) znaka.
while (Character.isWhitespace(c=getCh()));
return c;
}
public static String String () { // Citanje jedne reci.
String s="";
while ( Character.isWhitespace(c=getCh())); s += c;
while (!Character.isWhitespace(c=getCh())) s += c;
return s;
}
public static String Line () // Citanje jedne linije teksta.
{ String s=""; while ((c=getCh()) != '\n') if (c != '\r') s += c; return s; }
public static void getNL () // Preskoci znakove do kraja linije.
{ while (c != '\n') c = getCh (); c = '\0'; }
public static byte Byte () // Citanje jednog podatka tipa byte.
{ return Byte.parseByte (String ()); }
public static short Short () // Citanje jednog podatka tipa short.
{ return Short.parseShort (String ()); }
public static int Int () // Citanje jednog podatka tipa int.
{ return Integer.parseInt (String ()); }
public static long Long () // Citanje jednog podatka tipa long.
{ return Long.parseLong (String ()); }
public static float Float () // Citanje jednog podatka tipa float.
{ return Float.parseFloat (String ()); }
public static double Double () // Citanje jednog podatka tipa double.
{ return Double.parseDouble (String ()); }
private Citaj () {} // Nema smisla stvarati primerke klase!
}
Odavde koristi staticke metode Double() za citanje podatka tipa double sa standardnog ulaza, Int(), Long(), ...
Pozdrav