Chirurgia cranio-cerebrală minim invazivă
Tehnicile minim invazive impun utilizarea unei tehnologii ultramoderne. Endoscoapele operatorii de diverse tipuri, microscopul operator dedicat, neuronavigația, neuroelectrofiziologia, tehnicile avansate de anestezie, chirurgia cu pacientul treaz reprezintă armamentarium fără de care neurochirurgia prin "gaura cheii" nu ar fi posibilă. Folosind tehnicile de mai sus, tratăm un spectru larg de patologii cranio-cerebrale. www.neurohope.ro |
De ce nu merge?
#1
Posted 03 November 2018 - 13:42
package Test; import java.util.Iterator; import java.util.Scanner; import java.util.TreeSet; public class Curs implements Comparable { private String titlu; private String profesor; int credite; private int an; public Curs(String titlu,String profesor,int credite,int an) { this.titlu=titlu; this.profesor=profesor; this.credite=credite; this.an=an; } public void setTitlu(String titlu) { this.titlu=titlu; } public String getTitlu() { return titlu; } public void setProfesor(String profesor) { this.profesor=profesor; } public String getProfesor() { return profesor; } public void setCredite(int credite) { this.credite=credite; } public int getCredite() { return credite; } public void setAn(int an) { this.an=an; } public int getAn() { return an; } public int compareTo(Object o) { return credite-((Curs)o).credite; } public static void main(String[] args) { Scanner sc=new Scanner(System.in); TreeSet ts=new TreeSet(); for(int i=0;i<2;i++) { System.out.println("Titlu: "); String titlu=sc.nextLine(); System.out.println("Profesor: "); String profesor=sc.nextLine(); System.out.println("Credite: "); int credite=sc.nextInt(); System.out.println("An: "); int an=sc.nextInt(); sc.nextLine(); Curs c=new Curs(titlu,profesor,credite,an); ts.add(c); } Iterator it=ts.iterator(); while(it.hasNext()) { Curs c=(Curs)it.next(); System.out.println("Titlu: "+c.getTitlu()+", Profesor: "+c.getProfesor()+", Credite: "+c.getCredite()+", An: "+c.getAn()); } } } Codul de mai sus merge, dar urmatorul nu si nu inteleg cum ar trebui sa-l fac sa mearga... package Test; import java.util.Iterator; import java.util.Scanner; import java.util.TreeSet; public class Curs { private String titlu; private String profesor; int credite; private int an; public Curs(String titlu,String profesor,int credite,int an) { this.titlu=titlu; this.profesor=profesor; this.credite=credite; this.an=an; } public void setTitlu(String titlu) { this.titlu=titlu; } public String getTitlu() { return titlu; } public void setProfesor(String profesor) { this.profesor=profesor; } public String getProfesor() { return profesor; } public void setCredite(int credite) { this.credite=credite; } public int getCredite() { return credite; } public void setAn(int an) { this.an=an; } public int getAn() { return an; } public static void main(String[] args) { Scanner sc=new Scanner(System.in); for(int i=0;i<2;i++) { System.out.println("Titlu: "); String titlu=sc.nextLine(); System.out.println("Profesor: "); String profesor=sc.nextLine(); System.out.println("Credite: "); int credite=sc.nextInt(); System.out.println("An: "); int an=sc.nextInt(); sc.nextLine(); Curs c=new Curs(titlu,profesor,credite,an); } System.out.println("Titlu: "+c.getTitlu()+", Profesor: "+c.getProfesor()+", Credite: "+c.getCredite()+", An: "+c.getAn()); } } Codul asta e de fapt primu cod dar fara sortare, adica vreau doar sa citesc si sa afisez, dar nu merge si nu pricep de ce sau cum ar trebui sa fac asta. Stiu sa citesc si sa afisez simplu, dar nu inteleg cu acest get si set, imi poate explica cineva ce sunt astea, va rog? Sunt specifice metodei comparable? Sunt cam paralel cu java... In al doilea cod imi zice " c cannot be resolved". Si inca ceva, de ce daca sterg "c." trebuie sa pun static peste tot ca sa mearga afisarea ?De exemplu doar cu getTitlu() - daca scriu asa merge, dar dupa cum am zis, trebuie sa le fac pe toate de mai sus static; De ce cand e cu "c." ca in primul exemplu nu-mi cere sa le setez static? Edited by g0dafk, 03 November 2018 - 13:51. |
#2
Posted 03 November 2018 - 14:01
Problema ta e simplă, variabila c nu mai există când vrei să faci afișarea. Aruncă un ochi pe aici https://www.geeksfor...-scope-in-java/
Get și Set sunt doar metode. Denumirea lor este o convenție care indică ce fac, Get obține valoarea unei variabile, Set, setează valoarea unei variable. Nu am înțeles ce faci static? Metodele clasei? LE: Dacă faci statice atât metodele cât și variabile clasei va merge doar cu getTitlu() pentru că, o metodă sau o variabilă statică nu mai este legată de o instanță specifică a unei clase, cum ar fi variabila c, ci este legată de clasa însuși. Edited by tavitu, 03 November 2018 - 14:19. |
#3
Posted 03 November 2018 - 14:16
tavitu, on 03 noiembrie 2018 - 14:01, said:
Nu am înțeles ce faci static? Metodele clasei? Ma obliga sa fac static titlu, profesor, credite si an cand in declar clasa + get-urile. public class Curs { private static String titlu; private static String profesor; private static int credite; private static int an; . . . . public static String getTitlu() { return titlu; }Oh, si mare idiot sunt. Credeam ca acel set si acel get e ceva special. Acum am modificat din getTitlu, etc in blabla si alte denumiri d-astea fara sens si am vazut ca merge, deci e la fel ca in C++? class Curs { string profesor; void afisare() { cout<< profesor; } }; ...... vs public Class Curs { private string profesor; public String blabla() { return profesor; } } Adica asa? Edited by g0dafk, 03 November 2018 - 14:25. |
#4
Posted 03 November 2018 - 14:42
#5
Posted 03 November 2018 - 17:05
g0dafk, on 03 noiembrie 2018 - 14:16, said:
Ma obliga sa fac static titlu, profesor, credite si an cand in declar clasa + get-urile. |
#6
Posted 04 November 2018 - 06:22
...codul tau cu 2...3 modificari si functioneaza acum.O carte ar fi ok sa stii principiile de baza altfel contexte statice sunt nenumarate in Java.
In exemplul tau ce am modificat si cam ce notiuni trebuie sa acumulezi. -clasa Curs se fixeaza separat de metoda statica main asa incat o sa observi 2 clase separate in acest moment in plus probabil daca o sa avansezi putin o sa pui clasa Curs intr-un fisier separat,vezi despre metodele statice vs non-statice,instanta de clasa-clasa. -titlu,profesor... se definesc in afara instructiei for altfel o sa ai o eroare ca nu este definita,probeaza singur -class Curs nu se pune "public" in fata,vezi in Java despre public-private-protected. /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package test; import java.util.Iterator; import java.util.Scanner; import java.util.TreeSet; /** * * @author iulian */ class Curs { /** * @param args the command line arguments */ private String titlu; private String profesor; private int credite; private int an; public Curs(String titlu,String profesor,int credite,int an) { this.titlu=titlu; this.profesor=profesor; this.credite=credite; this.an=an; } public void setTitlu(String titlu) { this.titlu=titlu; } public String getTitlu() { return titlu; } public void setProfesor(String profesor) { this.profesor=profesor; } public String getProfesor() { return profesor; } public void setCredite(int credite) { this.credite=credite; } public int getCredite() { return credite; } public void setAn(int an) { this.an=an; } public int getAn() { return an; } } public class Test{ public static void main(String[] args) { // TODO code application logic here String titlu=" "; String profesor=""; int credite=0; int an=0; Scanner sc=new Scanner(System.in); for(int i=0;i<2;i++) { System.out.println("Titlu: "); titlu=sc.nextLine(); System.out.println("Profesor: "); profesor=sc.nextLine(); System.out.println("Credite: "); credite=sc.nextInt(); System.out.println("An: "); an=sc.nextInt(); sc.nextLine(); } Curs c=new Curs(titlu,profesor,credite,an); System.out.println("Titlu: "+c.getTitlu()+", Profesor: "+c.getProfesor()+", Credite: "+c.getCredite()+", An: "+c.getAn()); } } Edited by iulian_1976, 04 November 2018 - 06:32. |
#7
Posted 04 November 2018 - 11:10
g0dafk, on 03 noiembrie 2018 - 14:16, said:
Credeam ca acel set si acel get e ceva special. Acum am modificat din getTitlu, etc in blabla si alte denumiri d-astea fara sens si am vazut ca merge, deci e la fel ca in C++? Problema ta este ca incerci sa accesezi o instanta noua a clasei Curs, de pe o metoda dintr-un context static al clasei Curs,(adica main) Deci tu incerci de pe un context dinamic sa accesezi un context static care la randul instantiaza un context dinamic al aceiasi referinte:Curs. Fa asa: declara separat clasa Curs (poti s-o faci in acelasi fisier sau fisier separat) declara clasa Main cu metoda statica main Apeleaza in metoda statica main, o noua instanta a clasei Curs sau alte prelucari ale clasei Curs. Rolul getterilor si al setturilor a sa-l afli mai tarziu dupa ce studiezi java mai mult timp. |
#8
Posted 04 November 2018 - 12:02
Inca 1 intrebare :
1.Cum pot transforma asta intr-un vector? class Carte { String titlu; int pret; public Carte(String titlu, int pret) { this.titlu=titlu; this.pret=pret; } public void setTitlu(String titlu) { this.titlu=titlu; } public void setPret(int pret) { this.pret=pret; } public String getTitlu() { return titlu; } public int getPret() { return pret; } } public class Blabla { public static void main (String[] args) { //Scanner sc=new Scanner(System.in); Carte c1= new Carte("abc",10); Carte c2=new Carte("xyz",20); System.out.println(c1.getTitlu()+c1.getPret()); System.out.println(c2.getTitlu()+c2.getPret()); //sc.close(); } } Adica, vreau sa fac un for de la 1 la n ... si sa citesc de la tastatura.Ceva gen: for (int i=0;i<n;i++) { String x=sc.nextLine(); int y=sc.nextInt(); Carte c[i]=new Carte(x,y); } for(int i=0;i<n;i++) { System.out.println(c[i].getTitlu()+c[i].getPret()); }Zic si eu, desi cred ca e o tampenie, dar cam asa "simt" eu c-ar trebui sa mearga... nu? Edited by g0dafk, 04 November 2018 - 12:05. |
#9
Posted 04 November 2018 - 12:38
import java.util.*; ArrayList<Carte> carti = new ArrayList<Carte>(); for (int i=0;i<n;i++){ carti.add(new Carte(sc.nextLine(), sc.nextInt())) } carti.forEach(carte->{ System.out.format("%s cu pretul %d\n", carte.getTitlu(), carte.getPret()); }); Edited by BraviaAmpero, 04 November 2018 - 12:39. |
#10
Posted 04 November 2018 - 20:08
Vector este una iar ArrayList este alta poveste,Vector are multe optiuni,o carte te ajuta mai mult daca vrei sa aprofundezi.
Nu te gandi ca in cateva luni o sa dai jos Java,se lucreaza cu multe concepte,sunt multe lucruri de aprofundat. Un mic exemplu din multele lucruri care le contine acest limbaj: -un fisier sursa Java se numeste o unitate de compilare(compilation unit) fiecare unitate poate avea o singura clasa publica care are acelasi nume cu fisierul. In concluzie in acelasi fisier daca nu pui nimic in fata clasei este considerata "friendly" cu clasa principala publica,va fi accesibila si pentru fisierele din acelasi pachet dar inaccesibil din exterior,din cate stiu nici nu te lasa sa pui private. Trebuie sa specifici modalitatea de acces pentru fiecare clasa,metoda,variabila diferit de C++ unde un specificator de acces poate afecta mai multe metode... Edited by iulian_1976, 04 November 2018 - 20:13. |
|
#11
Posted 08 November 2018 - 22:40
Revin cu inca un cod ce imi da o eroare pe care n-o inteleg...
try { FileInputStream fisier=new FileInputStream("C:\\Users\\Admin\\Desktop\\jocuri.txt"); Scanner sc=new Scanner(fisier); Game g[]=new Game[2]; for (int i=0;i<2;i++) { int utilizatori=sc.nextInt(); String tara=sc.nextLine(); String companie=sc.nextLine(); int nota=sc.nextInt(); String nume=sc.nextLine(); sc.nextLine(); g[i]=new Game(utilizatori,tara,companie,nota,nume); } Arrays.sort(g); for(int i=0;i<2;i++) { System.out.println(g[i].getUtilizatori()+g[i].getTara()+g[i].getCompanie()+g[i].getNota()+g[i].getNume()); } } Si asta-i eroarea: Exception in thread "main" java.util.InputMismatchException at java.util.Scanner.throwFor(Unknown Source) at java.util.Scanner.next(Unknown Source) at java.util.Scanner.nextInt(Unknown Source) at java.util.Scanner.nextInt(Unknown Source) at pachet.Game.main(Game.java:44) Edited by g0dafk, 08 November 2018 - 23:10. |
#12
Posted 09 November 2018 - 12:57
Ochiometric cred că ai o problemă cu fișierul jocuri.txt. Conținutul nu este în formatul așteptat de program.
Edited by tavitu, 09 November 2018 - 12:57. |
#13
Posted 09 November 2018 - 20:01
Am observat ca daca, de exemplu citesc un string cu nextLine() si apoi un int cu nextInt() imi da eroare. Daca vreau sa citesc date de tip diferit trebuie sa citesc prima data tot ce e string si apoi tot ce e int... Asa e in java ? In codul din postul meu anterior se observa ca am citit int string string int string . Mai tarziu m-am gandit si am citit string string string int int si a functionat...
P.S: Am facut asta de la tastatura. Si inca o intrebare, de ce trebuie sa mai pun un scanner nextLine() in for, dupa ce imi citesc toate variabilele? Am observat ca fara el imi da eroare. Mi s-a spus ca e pentru "enter", adica ar fi un fel de... treci pe randu urmator dupa ce citesti ultima valoare, dar mi-e tare vaga explicatia asta. In plus uneori trebuie sa-l pun inainte sa-mi citesc variabilele ca altfel imi da eroare. |
#14
Posted 11 November 2018 - 16:59
de data asta te las pe tine sa cauti unde este eroare.
Sfat :niciodata in java sa nu mai folosesti array-uri unde declari inainte valoarea maxima. in java foloseste ArrayListuri care isi updateaza dinamic dimensiunea |
#15
Posted 11 November 2018 - 18:17
|
#16
Posted 11 November 2018 - 19:18
nu, e ceva de genul ca acel bufferSize se autoincrementeaza si autodecrementeaza in functie de operatiile I/O din colectie, asta daca colectia are flagul de mutable =ON (in cazul java este) dar in unele limbaje de programare sunt colectii cu flagul de mutable = ON sau OFF(immutable)
|
#17
Posted 13 November 2018 - 12:52
CrocodiluMereuVesel, on 11 noiembrie 2018 - 19:18, said:
nu, e ceva de genul ca acel bufferSize se autoincrementeaza si autodecrementeaza in functie de operatiile I/O din colectie, asta daca colectia are flagul de mutable =ON (in cazul java este) dar in unele limbaje de programare sunt colectii cu flagul de mutable = ON sau OFF(immutable) OriginalCopy, on 29 octombrie 2018 - 13:39, said:
cum este?
|
#18
Posted 13 November 2018 - 13:14
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users