Kezdőoldal » Számítástechnika » Programozás » Javanal mi lehet a hiba?

Javanal mi lehet a hiba?

Figyelt kérdés

Készítsen programot, amely a képernyőre ír egy sort (legyenek nehézségi szintek,


és fix karaktersorok, 30-40 karakter legyen egy sorban), majd bekéri a sor

minden egyes karakterét egyenként. Ha rossz karaktert üt le a felhasználó, akkor

jelezze ezt a felhasználónak. A végeredményt (helyes/helytelen) írjuk ki a végén.

Számoljon találati százalékot is. Többszöri végrehajtásra legyen lehetőség, majd

az összesített statisztikát is kiírja, illetve lehessen fájlba menteni is!



2012. dec. 12. 19:27
 1/2 A kérdező kommentje:

import java.*;

import java.io.*;

import java.util.*;

public class karakter {


public static void main(String[] args) throws IOException{


//TODO: szazalek hibas eredmenyt hoz

//TODO: tobbszori vegrehajtasra nincs lehetoseg

//TODO: metodusokba felbontas, pelda stringek letrehozasa

//TODO: osszesitett statisztika


Scanner be = new Scanner (System.in); //Beolvasas billentyuzetrol


String elso = "qwertzuioplkjhgfdsayxcvbnmaswd"; //Egy pelda 30 karakterbol allo string, ebbol kell tobb, kulonbozo nehezsegi szintekkel, ahogy a feladat irja...



int rosszdb = 0; //Hibapontokat szamol

int jodb = 0; //Helyes bevitelt szamol

int szazalek = 0; //%



System.out.println("Irja le a kovetkezo sor karaktereit...");

System.out.println(elso+"\n");


for (int i=0; i<elso.length(); i++){ //A ciklus addig meg ahany karaktert tartalmaz a string

System.out.print("Kerem a(z) "+(i+1)+". karaktert: ");

char c=be.nextLine().charAt(0); //Segedvaltozo, ezzel ellenorizzuk a karakter helyesseget


if (elso.charAt(i)!=c){ //Ha nem egyenlo az i. karaktere a string-nek a bevitt karakterrel, akkor rosszdb = rosszdb + 1 es figyelmezetetjuk a felhasznalot

System.out.println("Rossz!");

rosszdb++;

}

else {

jodb++; //Ha jol irja be, akkor jodb = jodb + 1

}


}



szazalek = rosszdb / elso.length() * 100; //HIBAS!!! Nem tudom miert, lehet az Integer-el nem tudja rendesen kiszamolni, ennek utana kell nezni


//Kiiras

System.out.println("\nHelyes: "+jodb);

System.out.println("Helytelen: "+rosszdb);

System.out.println("A karakterek "+szazalek+"%-at talaltad el.");



//Fajlbairas menu

System.out.print("\nKiirja az eredemenyt kulso fajlba? I/N: ");

String s = be.next();

if (s.equals("I") || s.equals("i")){


//Kiiras fajlba

PrintWriter ki = new PrintWriter (new FileWriter("ki.txt"));


ki.println("\nHelyes: "+jodb);

ki.println("Helytelen: "+rosszdb);

ki.println("A karakterek "+szazalek+"%-at talaltad el.");



ki.close();


System.out.println("Kiirtam a ki.txt fajlba az eredmenyt.\n");

}//Fajlbairas elagazas vege


}

}



Itt tartok, mi kéne még hogy szuperul menjen ?:)

2012. dec. 12. 19:27
 2/2 anonim ***** válasza:

Te ezt írtad: szazalek = rosszdb / elso.length() * 100;

neked int szazalek;


Így működni fog: double százalek;


Kiszámítás: szazalek = (jodb*100)/elso.length();

2012. dec. 21. 14:50
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!