|
Programiranje Programski jezici, tehnike, alatke... |
|
Alatke vezane za temu | Vrste prikaza |
26.11.2014, 18:09 | #181 |
Veteran
Član od: 25.3.2010.
Poruke: 574
Zahvalnice: 102
Zahvaljeno 71 puta na 64 poruka
|
Re: How to... Java
To mi je bilo važno da znam, hvala.
|
17.12.2014, 19:28 | #182 |
Član
Član od: 20.7.2009.
Lokacija: herceg novi
Poruke: 375
Zahvalnice: 30
Zahvaljeno 38 puta na 21 poruka
|
Re: How to... Java
Pozdrav, kada pokrenem izbacuje mi gresku da
Error39, 8) java: class Jacobi is public, should be declared in a file named Jacobi.java . Citao sam za ovo ucitavanja fajlova i napravio u .txt matricu i stavio je u src, ali to nije rijesilo . package com.company;/* * Copyright (C) 2012 Rafael Rendón Pablo <smart.rendon@gmail.com> * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* * This class provides a simple implementation of the Jacobi method for solving * systems of linear equations. */ /* How to use: The program reads an augmented matrix from standard input, for example: 3 5 -2 3 -1 -3 9 1 2 2 -1 -7 3 The number in the first line is the number of equations and number of variables. You can put this values in a file and then execute the program as follows: $ java Jacobi < equations.txt If the matrix isn't diagonally dominant the program tries to convert it(if possible) by rearranging the rows. */ import java.io.*; import java.util.Arrays; import java.util.StringTokenizer; public class Jacobi{ public static final int MAX_ITERATIONS = 100; private double[][] M; public Jacobi(double [][] matrix) { M = matrix; } public void print() { int n = M.length; for (int i = 0; i < n; i++) { for (int j = 0; j < n + 1; j++) System.out.print(M[i][j] + " "); System.out.println(); } } public boolean transformToDominant(int r, boolean[] V, int[] R) { int n = M.length; if (r == M.length) { double[][] T = new double[n][n+1]; for (int i = 0; i < R.length; i++) { for (int j = 0; j < n + 1; j++) T[i][j] = M[R[i]][j]; } M = T; return true; } for (int i = 0; i < n; i++) { if (V[i]) continue; double sum = 0; for (int j = 0; j < n; j++) sum += Math.abs(M[i][j]); if (2 * Math.abs(M[i][r]) > sum) { // diagonally dominant? V[i] = true; R[r] = i; if (transformToDominant(r + 1, V, R)) return true; V[i] = false; } } return false; } /** * Returns true if is possible to transform M(data member) to a diagonally * dominant matrix, false otherwise. */ public boolean makeDominant() { boolean[] visited = new boolean[M.length]; int[] rows = new int[M.length]; Arrays.fill(visited, false); return transformToDominant(0, visited, rows); } /** * Applies Jacobi method to find the solution of the system * of linear equations represented in matrix M. * M is a matrix with the following form: * a_11 * x_1 + a_12 * x_2 + ... + a_1n * x_n = b_1 * a_21 * x_1 + a_22 * x_2 + ... + a_2n * x_n = b_2 * . . . . * . . . . * . . . . * a_n1 * x_n + a_n2 * x_2 + ... + a_nn * x_n = b_n */ public void solve() { int iterations = 0; int n = M.length; double epsilon = 1e-15; double[] X = new double[n]; // Approximations double[] P = new double[n]; // Prev Arrays.fill(X, 0); Arrays.fill(P, 0); while (true) { for (int i = 0; i < n; i++) { double sum = M[i][n]; // b_n for (int j = 0; j < n; j++) if (j != i) sum -= M[i][j] * P[j]; // Update x_i but it's no used in the next row calculation // but up to de next iteration of the method X[i] = 1/M[i][i] * sum; } System.out.print("X_" + iterations + " = {"); for (int i = 0; i < n; i++) System.out.print(X[i] + " "); System.out.println("}"); iterations++; if (iterations == 1) continue; boolean stop = true; for (int i = 0; i < n && stop; i++) if (Math.abs(X[i] - P[i]) > epsilon) stop = false; if (stop || iterations == MAX_ITERATIONS) break; P = (double[])X.clone(); } } public static void main(String[] args) throws IOException { int n; double[][] M; BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); PrintWriter writer = new PrintWriter(System.out, true); n = Integer.parseInt(reader.readLine()); M = new double[n][n+1]; for (int i = 0; i < n; i++) { StringTokenizer strtk = new StringTokenizer(reader.readLine()); while (strtk.hasMoreTokens()) for (int j = 0; j < n + 1 && strtk.hasMoreTokens(); j++) M[i][j] = Integer.parseInt(strtk.nextToken()); } Jacobi jacobi = new Jacobi(M); if (!jacobi.makeDominant()) { writer.println("The system isn't diagonally dominant: " + "The method cannot guarantee convergence."); } writer.println(); jacobi.print(); jacobi.solve(); } } |
17.12.2014, 20:51 | #183 |
Član
Član od: 1.7.2014.
Lokacija: Bijeljina
Poruke: 228
Zahvalnice: 26
Zahvaljeno 59 puta na 46 poruka
|
Re: How to... Java
Ukloni ovaj dio koda ukoliko je "java" datoteka sa izvornim kodom u "src" folderu:
package com.company; Dalje, sam komplajler ti govori gdje je greska. Dakle, Java izvorni kod se iskljucivo cuva u "java" datotekama. Ukoliko je ime "public" klase Jacobi onda sav kod mora biti sacuvan u Jacobi.java datoteki. |
17.12.2014, 20:53 | #184 | |
Član
Član od: 20.2.2007.
Lokacija: BG
Poruke: 120
Zahvalnice: 22
Zahvaljeno 30 puta na 28 poruka
|
Re: How to... Java
Citat:
Ako neće da ti radi sa "Run file", verovatno ime napravljene klase nije isto kao i ime klase koja sadrži ovaj kod. /(Jacobi u ovom slučaju). Kod:
4 5 3 4 5 The system isn't diagonally dominant: The method cannot guarantee convergence. 5.0 0.0 0.0 0.0 0.0 3.0 0.0 0.0 0.0 0.0 4.0 0.0 0.0 0.0 0.0 5.0 0.0 0.0 0.0 0.0 X_0 = {0.0 NaN NaN NaN } X_1 = {0.0 NaN NaN NaN } BUILD SUCCESSFUL (total time: 14 seconds) |
|
17.12.2014, 23:47 | #185 |
Član
Član od: 20.7.2009.
Lokacija: herceg novi
Poruke: 375
Zahvalnice: 30
Zahvaljeno 38 puta na 21 poruka
|
Re: How to... Java
Hvala puno svima , uspio sam .
|
21.12.2014, 22:51 | #186 |
Novi član
Član od: 15.6.2011.
Poruke: 12
Zahvalnice: 9
Zahvaljeno 0 puta na 0 poruka
|
Re: How to... Java
Pozdrav treba mi pomoc oko jednog zadatka u javi , ovako glasi zadatak:
e sad ja sam zamislio to ovako da uradim, ali ne ide pa ako neko moze da mi pomogne bio bih zahvalan.: |
23.12.2014, 10:25 | #188 |
V.I.P. GNU/Linux
Član od: 1.11.2005.
Poruke: 11.163
Zahvalnice: 2.081
Zahvaljeno 4.922 puta na 2.858 poruka
|
Re: How to... Java
Kad pređeš na C#, moći ćeš da porediš stringove sa "="
|
23.12.2014, 14:42 | #189 | |
Član
Član od: 1.7.2014.
Lokacija: Bijeljina
Poruke: 228
Zahvalnice: 26
Zahvaljeno 59 puta na 46 poruka
|
Re: How to... Java
Citat:
Uostalom, za pocetnika u OOP programiranju izbor izmedju Jave i C#-a je irelevantan. Npr. sta im vrijede generici kad ne znaju da ih maksimalno iskoriste, sta im vrijedi LINQ ili Streams kada koriste klasicnu "for" petlju za filtriranje kolekcija itd itd. |
|
20.1.2015, 11:53 | #190 | |
Član
Član od: 31.3.2013.
Lokacija: Beograd-Zvezdara
Poruke: 319
Zahvalnice: 187
Zahvaljeno 45 puta na 42 poruka
|
Re: How to... Java
Treba mi pomoc oko jednog zadatka posto sam krenuo na programiranje Java programskog jezika i sada imam zadatak koji ne mogu sam da resim pa bih hteo nekoga da zamolim ako moze da mi pomogne .
Zadatak glasi: Sa tastature se unosi celobrojni tip podatka. Potrebno je u izlazu prikazati dati broj kao zbir množitelja svih njegovih težinskih cifri uz uslov da se za nulu ne prikazuje težinska osnova a za težinsku cifru jedan ne prikazuje množitelj. Ja sam to ovako zamislio ali mi sustina ne dostaje pa bih voleo da mi neko pomogne i resi ovo da skontam kako se radi : Citat:
|
|
20.1.2015, 22:37 | #191 |
Veteran
Član od: 3.5.2008.
Lokacija: Beograd
Poruke: 760
Zahvalnice: 81
Zahvaljeno 213 puta na 144 poruka
|
Re: How to... Java
Izvinjavam se svima što ne znam, ali šta je to težinske cifre broja, i šta su njihovi množitelji?
|
20.1.2015, 23:31 | #192 | |
Član
Član od: 6.2.2012.
Poruke: 151
Zahvalnice: 87
Zahvaljeno 60 puta na 40 poruka
|
Re: How to... Java
Citat:
prva jedinica ima najvecu vrednost tj. najteza je cifra, dok zadnja nula ima najmanju tezinu. A za te mnozitelje prvi put cujem |
|
21.1.2015, 0:37 | #193 |
Veteran
|
Re: How to... Java
Pretpostavljam da su mnozitelji stepeni desetke, u dekadnom sistemu, dvojke u binarnom, itd.
Na primer, broj 1234 se moze zapisati kao: 4*10^0 + 3*10^1 + 2*10^2 + 1*10^3. A u zadatku se trazi, da se za 10^0 ne pise to, nego da se jednostavno izostavi (jer je jedinica neutral za mnozenje). I drugi uslov bi bio da ako se radi o tezinskoj cifri 1, da ne pise 1*10^n, nego samo 10^n. To je moja pretpostavka samo. I onda bi neki kod za to bio ovakav: Kod:
i=0; while(n!=0) { if(i==0) printf("%d", n%10); else if(n%10==1) { printf(" + 10^%d", i); } else { printf(" + %d *10^%d", n%10, i); } n = n/10; i++; } To bi bio neki (neproveren) C kod, a nije ga tesko prebaciti u javu. Poslednja ispravka: Rajko92 (21.1.2015 u 14:19) |
Sledećih 2 korisnika se zahvaljuje korisniku Rajko92 na korisnoj poruci: | ||
ballerina72 (21.1.2015), Howard1 (21.1.2015) |
21.1.2015, 15:39 | #194 |
Član
Član od: 31.3.2013.
Lokacija: Beograd-Zvezdara
Poruke: 319
Zahvalnice: 187
Zahvaljeno 45 puta na 42 poruka
|
Re: How to... Java
Hvala momci, vidim ovde ima i profesionalaca za programiranje a ja sam pocetnik, ubijaju nas na obuci koja nije za pocetni nivo i pocetnike nego za one koji to vec rade
|
21.1.2015, 18:44 | #196 |
Član
Član od: 20.2.2007.
Lokacija: BG
Poruke: 120
Zahvalnice: 22
Zahvaljeno 30 puta na 28 poruka
|
Re: How to... Java
^Laslo Kraus!?
Pošto mi se po postavci čini da treba dobiti sumu ("... zbir množitelja ..."), trebalo bi rastaviti string pa sabrati .... Spoiler za kod:
Opet, s' druge strane, ako treba i ispis recimo 2015 = 2*10^3 + 10^1 + 5 *10^0 (mada bih izostavio i ovo jer je =1, dakle samo množilac), e onda treba concat stringa ... xD |
Sledeći korisnik se zahvaljuje korisniku Dzungla na korisnoj poruci: | ||
Howard1 (26.1.2015) |
24.1.2015, 2:27 | #197 |
Član
|
Re: How to... Java
Treba mi savet, imam Java web aplikaciju(Srtuts framework), postoji i mobilna verzija tog sajta i potrebno je napraviti njenu android verziju e sad kako je to najbolje(najlakse) odraditi?
Da se ta verzija malo dotera i prepravi i ubaci u webview ili da se kuca kompletna aplikacija za android? |
24.1.2015, 3:07 | #198 |
Član
Član od: 1.7.2014.
Lokacija: Bijeljina
Poruke: 228
Zahvalnice: 26
Zahvaljeno 59 puta na 46 poruka
|
Re: How to... Java
Licno bih napisao RESTful web servis a zatim Android aplikaciju koja ce pristupati resursima putem RESTful web servisa. Moje licno misljenje. Razmotri druga misljenja takodje.
|
24.1.2015, 19:06 | #199 | |
Član
Član od: 31.3.2013.
Lokacija: Beograd-Zvezdara
Poruke: 319
Zahvalnice: 187
Zahvaljeno 45 puta na 42 poruka
|
Re: How to... Java
Ja sam elektronicar nisam programer, a u programiranju sam pocetnik, ucim tek osnovne stvari . Drago mi je sto na ovom forumu ima dosta profesionalaca sto se tice programiranja (Dzungla, Rajko92, Voodoo itd ... ) pa mogu malo da se oslonim na pomoc profesionalaca. Idem vec mesec dana na ubrzani kurs Jave za jednu firmu koja trazi talentovane studente informatike pa moram da radim brzo i ucim "punom parom". Ja sam prosle godine zavrsio master za masinstvo (master inzenjer masinskog inzenjerstva) pa mi je programiranje isto kao da sam uzeo da ucim medicinu posle masinstva .
Imam jos jedan tacno uradjen zadatak pa bih hteo da zamolim da mi neko objasni odredjene kodove, ko ima volje jer mi bas zadatak nije najjasniji . Zadatak kaze: Napisati program koji ce za uneti broj reci da li je uneti broj prost ili nije? U ovom slucaju je uneti broj 16 a prosti brojevi su oni brojevi koji su deljivi samo sa samim sobom i sa brojem jedan. Prvi prost broj je broj 2 (po Wikipediji ) tako da i u for petlji krece od broja 2. Evo i tacnog koda : Citat:
Poslednja ispravka: Howard1 (24.1.2015 u 20:35) |
|
25.1.2015, 12:49 | #200 |
Veteran
Član od: 7.9.2012.
Poruke: 818
Zahvalnice: 131
Zahvaljeno 151 puta na 129 poruka
|
Re: How to... Java
Imaš i drugu varijantu sa logičkom promenljivom.
Kod:
class Prostbroj{ public static void main (String [] args){ int br,i; boolean nadjen; System.out.print ("Unesi broj."); br=TextIO.getlnInt(); nadjen=true; i=2; while (i<br/2 && nadjen ){ if (br%i==0){ nadjen=false; } i++; } if (nadjen){ System.out.print ("Broj je prost."); } else{ System.out.print ("Broj je slozen."); } } } |
Sledeći korisnik se zahvaljuje korisniku ETR1 na korisnoj poruci: | ||
Howard1 (26.1.2015) |
Bookmarks sajtovi |
Tagovi |
java |
Alatke vezane za temu | |
Vrste prikaza | |
|
|
Slične teme | ||||
tema | temu započeo | forum | Odgovora | Poslednja poruka |
Java - out of Memory | Vajsmilan | Aplikativni softver | 6 | 6.2.2012 20:54 |
Android - pozivanje Java metoda iz native koda | voodoo_ | Programiranje | 5 | 14.10.2011 8:59 |
Samsung D600 Java upload (USB cable) | Aleksandar | Programi za mobilne telefone | 0 | 16.6.2008 13:54 |
Jel' se ovo misli na Java Script ili? | Tim85 | Internet tehnologije | 2 | 7.12.2006 12:33 |
G-thing program za LG(imam U8180) za java igre trazim gde ima? besplatno?trial? | Ilic Marko | Programi za mobilne telefone | 1 | 9.2.2006 14:09 |