Juntando códigos

2 respostas
programaçãojava
W

Saudações à todos.
Minha questão é, professor passou a seguinte revisão hoje:

Criar um vetor que conte o número de caracteres da seguinte frase "Existe muita coisa que não te disseram na escola
Cota não é esmola!"
Crie um outro vetor para atribuir um valor aleatório para cada letra, em segunda some o valor de todas as letras.
Agora crie uma matriz de N x N, onde o usuário deve inserir o tamanho da matriz e preencher o valor com números aleatórios.
Em seguinte crie uma matriz 3D, onde a mesma terá 3 páginas, 100 linhas e 100 colunas, onde a primeira página é preenchida com números aleatórios, a segunda página é o valor de cada célula multiplicado por 2 e a última página é a primeira página somada com a segunda página.

Bom, então eu comecei fazendo por partes, criei o vetor que conte as letras, espaços e números presentes na frase em que ele pediu, ficando de tal forma:

public boolean isLetter(char ch){
		if((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z'))
			return true;
		else
			return false;
	}
	public boolean isSpace(char ch){
		if(ch == ' ')
			return true;
		else
			return false;
	}
        public boolean isNumber(char ch){
            if(ch >= '0' && ch <= '9')
                return true;
            else
                return false;
        }
	public static void main(String[] args){
		Gerador strInfo = new Gerador();
		String text = "Existe muita coisa que não te disseram na escola\n"
                        +"Cota não é esmola!";
		int spaces = 0,
                        number = 0,
			others = 0,
			letters = 0;
		for(int i = 0; i < text.length(); i++){
			if(strInfo.isLetter(text.charAt(i)))
				letters++;
			else if(strInfo.isSpace(text.charAt(i)))
				spaces++;
			else
				others++;
		}
		System.out.println("Letters: " + letters + ", Spaces: " + spaces + ", Others: " + others);
	
        }
}

até ai ele compila tudo certo, logo em seguida criei outro projeto para criar a segunda parte, que é os numeros aleatorios, ficando assim:

public static void main(String[] args) {
   Random gerador = new Random();
        int í;
        int n = gerador.nextInt(101);
        int v[] = new int[n];
        
        for (int i = 0; i < n; i++){
            v[i]= gerador.nextInt(101);
            System.out.println("O valor da posição "+
                    i+" é: "+v[i]);
        }
        }
   }

e logo em seguida ele pede pra praticamente juntar esses dois códigos, que seria dar valores aleatorios pra cada letra… porém dai eu já travei, tentei juntar os código e incrementar as variaveis do primeiro no segundo codigo… porém não saiu como eu queria ):
Alguém poderia ajudar? isso parece ser bem simples, pra quem sabe java… eu já não manjo tanto

Agradecido desde já \o

2 Respostas

W

Acabei resolvendo a primeira parte, ficando

/*
 * 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 gerador;
import java.util.Random;
/**
 *
 * @author artwLui
 */
public class Gerador {
public boolean isLetter(char ch){
		if((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z'))
			return true;
		else
			return false;
	}
	public boolean isSpace(char ch){
		if(ch == ' ')
			return true;
		else
			return false;
	}
        public boolean isNumber(char ch){
            if(ch >= '0' && ch <= '9')
                return true;
            else
                return false;
        }
	public static void main(String[] args){
		Gerador strInfo = new Gerador();
		String text = "Existe muita coisa que não te disseram na escola\n"
                        +"Cota não é esmola!";
		int spaces = 0,
                        number = 0,
			others = 0,
			letters = 0;
		for(int i = 0; i < text.length(); i++){
			if(strInfo.isLetter(text.charAt(i)))
				letters++;
			else if(strInfo.isSpace(text.charAt(i)))
				spaces++;
			else
				others++;
                       
            System.out.println("Letters: " + letters );
                     
            Random gerador = new Random();
                         int n = letters;
                         int v[] = new int[n];
                         for (int a = 0; a < n; a++){
            v[a]= gerador.nextInt(101);
    
            System.out.println("O valor da posição "+
                    a+" é: "+v[a]);
		}
		
	
                }
        }
}

nesse código ele imprime a quantia de letras, e em seguida diz a posição dando um valor numero aleatorio pra ela, porém agora eu queria soma-los ): alguém poderia ajudar?

D
int v[] = new int[n];
        int soma = 0;
        for (int a = 0; a < n; a++){
          v[a]= gerador.nextInt(101);
          soma = soma + v[a];
          System.out.println("O valor da posição "+ a+" é: "+v[a]);
        }
        System.out.println("Soma: " + soma);
Criado 29 de junho de 2018
Ultima resposta 30 de jun. de 2018
Respostas 2
Participantes 2