Προς το περιεχόμενο

Java


lydiannna

Προτεινόμενες αναρτήσεις

Δημοσ.

Έχω την παρακάτω άσκηση σε java. Προσπάθησα τη λύση αλλά δεν μου έβγαινε. Όποιος μπορεί να βοηθήσει, τον ευχαριστώ πολύ.

/* Να γραφεί μια κλάση με όνομα (Hendiadys) και δημόσιο προσδιοριστή.Η

κλάση Hendiadys πρέπει να περιέχει δύο στατικές μεθόδους m_devast

και m_sandclub .Η πρώτη μέθοδος m_devast θα πρέπει να δέχεται

ως όρισμα μια συμβολοσειρά (String). Η συμβολοσειρά αυτή θα περιέχει

το όνομα του αρχείου που πρέπει να δημιουργηθεί. Το αρχείο αυτό

θα πρέπει να έχει τα εξής χαρακτηριστικά:

 

- Μέγεθος: 2055 bytes

- Λίστα επιτρεπόμενων χαρακτήρων:

byte[] a_foreseize = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h',

'i', '1', '-', '2', '3'}.

Η λίστα των επιτρεπόμενων χαρακτήρων θα πρέπει να οριστεί ως στατικό

δημόσιο χαρακτηριστικό της κλάσης Hendiadys με όνομα a_foreseize.

Τα δεδομένα του αρχείου πρέπει να είναι τυχαία και να ακολουθούν

ομοιόμορφη κατανομή. (Όλοι οι χαρακτήρες να έχουν περίπου τον

ίδιο αριθμό εμφάνισης).

Η μέθοδος m_devast θα πρέπει να επιστρέφει μια μεταβλητή τύπου

long που θα περιέχει το άθροισμα των τιμών ASCII των 500 πρώτων

χαρακτήρων.

Η μέθοδος m_sandclub θα πρέπει να δέχεται ώς όρισμα μία συμβολοσειρά

(String) η οποία θα περιέχει το όνομα ενός αρχείου χαρακτήρων.

Το αρχείο θα διαβάζεται στην μνήμη και θα καταγράφονται για αυτό

οι παρακάτω μετρικές:

 

- Μέγεθος

- Αριθμός εμφανίσεων για κάθε χαρακτήρα που περιλαμβάνεται

στον πίνακα που ορίστηκε στον πίνακα a_foreseize.

 

Τα δεδομένα θα πρέπει να επιστρέφονται ως πίνακας από ακεραίους

(int) από την m_sandclub. Ο πίνακας αυτός στην θέση 1 (π.χ. a[0])

θα έχει το μεγεθος του αρχείου και στις υπόλοιπες των αριθμό εμφανίσεων

για κάθε χαρακτήρα (π.χ. στην θέση 2 τον αριθμό εμφανήσεων του

πρώτου χαρακτήρα κ.ο.κ.).

 

hints - Έξεταστε τις προδιαγραφές των κλάσεων java.io.DataInputStream,

java.io.FileInputStream και java.lang.Character */

 

 

import java.io.*;

import java.util.*;

import java.lang.Character.UnicodeBlock;

import java.nio.charset.Charset;

import java.util.SortedMap;

 

public class Hendiadys {

public static void main(String args[]) {

if (args.length != 2) {

System.err.println("Usage: CharCount file encoding");

System.exit(1);

}

final String fileName="Lydia";

int size=2055;

BufferedReader in = null;

try {

in = new BufferedReader(new InputStreamReader(new FileInputStream(fileName));

} catch (FileNotFoundException e) {

System.err.println("Unable to open file " + fileName

+ ": " + e.getMessage());

System.exit(1);

}

 

public static byte[] a_foreseize = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h',

'i', '1', '-', '2', '3'}

public static long m_devast(fileName){

long sum=0;

for(int q=1;q<=500;q++){

a_foreseize<String,Charset> ac = Charset.availableCharsets();

for(long k:ac.keySet())

sum+=k;

}return sum;

}

public static m_sandclub (fileName){

Integer count=new Integer[];

try {

int c;

while ((c = in.read()) != -1) {

Character.UnicodeBlock u = Character.UnicodeBlock.of©;

Integer oldN = count.get(u);

if (oldN == null)

count.put(u, 1);

else

count.put(u, oldN + 1);

}

in.close();

} catch (Exception e) {

System.err.println("Error reading character: " + e.getMessage());

System.exit(1);

}

for(int i=0;i<=2055;i++){

if(i!=0)

count=

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...