0votos

Escribir en Papel - Desafio POO en Java

por Pepe Gonzalez hace 5 días

El código cuenta los caracteres de un texto y los descuenta de las unidades de tinta que se han definido. No tiene en cuenta los espacios en blanco. Con una pequeña modificación se puede hacer que pida los datos por pantalla. No se ha incluido porque uso un IDE online que no lo reconoce.

El ejercicio consiste básicamente en programar el proceso de escritura en un papel.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
/* 
Escribir una clase Papel que contenga un atributo texto, un método escribir, que reciba una cadena de caracteres para agregar al texto, y el método toString() 
que imprima el contenido del texto. 
Escribir una clase Bolígrafo que contenga un atributo cantidad de tinta y un método escribir que reciba un texto y un papel (objeto de la clase Papel) sobre el cual 
escribir. Cada letra escrita debe reducir la cantidad de tinta contenida. Cuando la tinta se acabe, debe imprimir un mensaje de error indicando que la tinta se ha acabado.  
*/ 
 
import java.util.*; 
import java.lang.*; 
 
class Rextester 
{   
    public static void main(String args[]) 
        System.out.println("Hello, World!"); 
         
        Paper P = new Paper(); 
        //P.PaperWrites(); 
        System.out.println(P.toString()); 
         
        Pen Pe = new Pen(); 
        System.out.println("Cantidad inicial de tinta: " + Pe.inkamount); 
        System.out.println("Tinta restante: "); Pe.PrintResult(); 
 
class Paper 
    String text = "Probando la cantidad de tinta que consume este texto"; 
     
    public Paper() 
        this.text = text; 
     
    public String PaperWrites() 
        /* Agrega caracteres al texto */         
                
        this.text += text; 
                 
        return text; 
         
     
    public String toString() 
        // Imprime el contenido del texto 
        return "Texto: " + this.text; 
     
}     
 
class Pen 
    int inkamount = 1000; 
    Paper Paper = new Paper(); 
    String textlengthforPen = Paper.PaperWrites(); 
    
    String[] result = textlengthforPen.split("\\s"); 
      
      
    public void PrintResult() 
        int sum = 0; 
        int sumfin = 0; 
         
        for (int x=0; x<result.length; x++) 
          {  
            sum = StringLength(result[x]);   
             
            sumfin = sumfin + sum; 
        inkamount = inkamount - sumfin; 
         
        if (inkamount != 0) 
            System.out.println(inkamount); 
        else 
            System.out.println("Fin Tinta"); 
     
    public int StringLength(String result) 
        int res = result.length(); 
                   
        return res; 

Comenta la solución

Tienes que identificarte para poder publicar tu comentario.