Hirdetés
- gerner1
- Luck Dragon: Asszociációs játék. :)
- sziku69: Szólánc.
- Graphics: Telefonvásárlási kálváriám....avagy clickbait cím: Horror a hardveraprón
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- Lalikiraly: Kinek milyen setupja van?
- Lalikiraly: Mercis kalandok - Huszonnyolcadik rész - Az újrakezdés
- Luck Dragon: Alza kuponok – aktuális kedvezmények, tippek és tapasztalatok (külön igényre)
- sziku69: Fűzzük össze a szavakat :)
- Parci: Milyen mosógépet vegyek?
-
LOGOUT

Új hozzászólás Aktív témák
-
focker
csendes tag
Hali!
Java-s segítség kellene.
Van egy n*n-es int tömb, amiben távolságok vannak tárolva (1-100ig).
Ebben kellene megkeresni legközelebbi pontokat úhy, hogy megkeressük a két legközelebbit, legyen ez a,b ezeket eltároljuk egy tömbben (ezek távolságát mondjuk 10000-re állítjuk). Majd ezekhez a pontokhoz keresünk egy legközelebbit, tehát a-hoz legközelebbi, b-hez legközelebbi, és ezek közül azt vesszük hozzá, amelyiknek kisebb az értéke. Ezután a,b,c-hez keressük a legközelebbit, ugyanilyen módon, és mindezt addig, amíg mind az n pont nincs a megoldás tömbben. -
focker
csendes tag
BufferedReader Train = new BufferedReader(new FileReader(''be''));
BufferedReader Test = new BufferedReader(new FileReader(''be2''));
BufferedWriter Eredmeny = new BufferedWriter(new FileWriter(''ki''));
int c=0;
double p1,p2;
ArrayList al1 = new ArrayList();
ArrayList al2 = new ArrayList();
while (true) {
c=Train.read();
if (c==-1) break;
if (c==(char)'1') {
String s = new String();
while (true){
c=Train.read();
if (c==-1||c==(char)'>') break;
if (c==13||c==10) continue;
s+=(char)c;
}
al1.add(s);
}
if (c==(char)'2'){
String s = new String();
while (true){
c=Train.read();
if (c==-1||c==(char)'>') break;
if (c==13||c==10) continue;
s+=(char)c;
}
al2.add(s);
}
} //beolvasás vége
Test.close();
while (true){
c=Test.read();
if (c==-1) break;
String s = new String();
while (true){
c=Test.read();
if (c==-1||c==(char)'>') break;
if (c==13||c==10) continue;
s+=(char)c;
}
}
kb. egy hónapja már írtam hasonlót, most kicsit változott a kód, de a kérdés ugyanaz: hogy lehetne átírni a beolvasást, h ugyanezt csinálja, de ne ilyen kacifántosan. -
focker
csendes tag
Most már csak egy a gond, ugyanezt megcsinálom egy tesztre is, így
while (in.available() !=0) {
String input = in.readLine();
if (input.equals('''')) continue;
else if (input.equals(''>'')){
teszt=0;
darab++;
}
else {
for (int i=0;i<input.length();i++)
betukteszt[teszt][input.charAt(i)-'A'
++;
}
for(int i=0; i<26; i++){
atlagteszt=betuk[0]/darab;
}
for (int i=0;i<26;i++){
if (atlagteszt==0) continue;
if (atlag1!=0)
T1db_1*=(atlag1<atlagteszt)?atlag1/atlagteszt:atlagteszt/atlag1;
if (atlag2!=0)
T2db_1*=(atlag2<atlagteszt)?atlag2/atlagteszt:atlagteszt/atlag2;
}
atlagteszt = new int[26];
Eredmeny.write((T1db_1>T2db_1)?''1'':''2'');
Eredmeny.newLine();
Eredmeny.flush();
és az Eredmeny file-ba kb. 7x annyi 1-es vagy 2-es kerül. Miért szalad ennyivel túl? -
focker
csendes tag
válasz
gabesz82
#2237
üzenetére
Hát igen, én mindig megszívom az ilyeneket

while (true){
c=br.read();
if (c==-1) break;
//1-es osztályláncok feldolgozása
if (c==(char)'1'){
int n=0;
n1++;
while (true){
c=br.read();
if (c==-1||c==(char)'>') break;
if (c==13||c==10) continue;
betuszamlalo(bszam,(char)c);
}
bszam=new int[26];
}
//2-es osztályláncok feldolgozása
...
}
Ezt hogy lehetne máshogy megcsinálni, hogy egyáltalán ne hasonlítson erre, és mégis ugyanezt csinálja? -
focker
csendes tag
Na igen, kissé kacifántos voltam. Láttam a hasonló kérdést, a feladat ugyanaz egyébként, csak választ nem kapott az illető. Nekem csak annyi kellene, hogy a fájlból beolvassa az összes ilyen
>2
ABCGDJGIT...
szekvenciát, és megszámolja, hogy az 1-es és 2-es külön-külön hány darab A betűt, hány darab B betűt..., tartalmaz. Tehát mondjuk egy szekvencia1[] tömbbe tároljuk 0-25 indexig, hogy az egyes betűkből mennyi fordul elő az összes 1-es szekvenciában (ugyanígy szekvencia2[]). Utána ezekkel a tömbökkel kellene dolgozni, ami már menne, csak a beolvasás nem
Az a baj,h már csak konkrét kód tud rajtam segíteni, mert szorít az idő. -
focker
csendes tag
Lenne egy olyan kérdésem, hogy van egy ilyen tartalmú textfile:
>2
MYEEEIKKIALLNAYQHNGKAE
>1
MEVERIALKYALINAIEHGG
>1
MLRETIYKYALQNA
>2
MIKTRFAPSPTGYLHVGG
Erre kellene egy olyan java kód, ami megszámolja, hogy az 1-es és 2-es sorozatban melyik beűből hány van (az 1-es és 2-es sorozatokból tetszőleges mennyiségű lehet). Tehát pl. 1-es: A-5 B-0 C-0..., ugyanígy a 2-esre A-4...
Addig ok, hogy
BufferedReader br = new BufferedReader(new FileReader(''file''));
és mondjuk egy
public static void betuszamlalo(int[] betu,char C) {
switch (C) {
case (char)'A': betu[0]++; break;
....
}
amit meghívunk, amikor a karakterekhez érünk a beolvasáskor.
Karakterenként olvasom be a file tartalmát, tehát először '>', aztán a szám, hogy hanyas sorozathoz tartozik, és ahhoz a sorozathoz elkezdi számolni a cuccot, aztán jön a következő sorozat, ami ha ugyanolyan sorszámú, akkor az eddigiekhez adódik hozzá a számlálás, ha pedig másik sorszámú, akkor ahhoz.
Tudom kicsit kacifántos a negfogalmazás, de már eléggé fáradt vok
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Új, Gamer félgép - MSI Z890 GAMING PLUS WIFI + Intel Ultra 7 265K + Corsair 2x16GB DDR5 6400MHz CL32
- ASUS Rog Ally Z1 Extreme, 2027.01.12-ig gyári garanciás, hálózati töltőjével, szilikon tokkal eladó!
- HP 250 G7,15.6",i5-1035G1,8GB DDR4,256GB SSD,WIN11
- Lenovo ThinkPad T480s,FHD,14",i5-7300U,8GB DDR4,256GB SSD,WIN11,TOUCH,jó akku
- Lenovo ThinkPad T480s,FHD,14,i5-7300U,8GB DDR4,256GB SSD,WIN11,TOUCH
- Dell Latitude 5411,14",FHD,i7-10850H,16GB DDR4,512GB SSD,2GB VGA,WIN11,ÚJ AKKU
- BESZÁMÍTÁS! Gigabyte B450M R5 3600X 32GB DDR4 512GB SSD RTX 3060 12GB NZXT Source 340 Bitfenix 550W
- HP EliteBook 650 G10 15,6" i5 -1335u, 16GB RAM, 512GB SSD, jó akku, számla, 6 hó gar
- BESZÁMÍTÁS! VALVE Steam Deck LCD 512GB SSD kézikonzol garanciával hibátlan működéssel
- Kezdő Gamer PC-Számítógép! Csere-Beszámítás! I7 4770K / GTX 1060 6GB /16GB RAM /250SSD + 500GB SSHD
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

++;

Az a baj,h már csak konkrét kód tud rajtam segíteni, mert szorít az idő.