Ajuda para resolver um exercicio !

to montando em, switch/case , sera que pode dar certo ?

Em Java isso não rola, até onde sei.

Não é a melhor forma, não. Você vai fazer um switch case infinito, afinal, os numeros são infinitos. O nome de uma rua pode ter um, dois, vinte caracteres. Não tem como você ficar comparando, certo?

Pense comigo: Um laço de repetição repete operações. A sintaxe básica de um dos comandos de repetição (existem três) é:

for (inicialização de variaveis; condição de parada; ação){
//coisa que deverá ser repetida
}

O que isso quer dizer?

Inicialização de variáveis: Aqui, você cria e atribui os valores de variáveis que vão existir dentro do seu laço de repetição. As variáveis não são recriadas com as voltas do laço: rola uma vez só.

Condição de parada: Aqui você sempre vai ler se a condição é verdadeira ou falsa. Quando deixar de ser verdadeira, o laço não é mais repetido. Toda vez que o laço “roda”, a condição é checada.

Ação: Ação que é executada após cada operação no laço.

Vamos criar aqui, em exemplo, um contador para contar até cinco.

for(int i=0; i<=5; i++){
System.out.println(i);
}

O funcionamento dele é o seguinte:

Inicialização de variaveis: Uma variavel do tipo inteiro chamada i vale zero.
Checagem da condição de parada. i é menor ou igual (<=) a cinco? Sim, pois 0 <= 5
Imprima na tela o valor de i; (aqui é a coisa que deverá ser repetida)
Ação: Acresça um na variavel i. Agora, i=1.

REPETE:
Checagem da condição de parada. i é menor ou igual (<=) a cinco? Sim, pois 1 <= 5
Imprima na tela o valor de i;
Ação: Acresça um na variavel i. Agora, i = 2;

REPETE:
Checagem da condição de parada. i é menor ou igual (<=) a cinco? Sim, pois 2 <= 5
Imprima na tela o valor de i;
Ação: Acresça um na variavel i. Agora, i = 3;

REPETE:
Checagem da condição de parada. i é menor ou igual (<=) a cinco? Sim, pois 3 <= 5
Imprima na tela o valor de i;
Ação: Acresça um na variavel i. Agora, i = 4;

REPETE:
Checagem da condição de parada. i é menor ou igual (<=) a cinco? Sim, pois 4 <= 5
Imprima na tela o valor de i;
Ação: Acresça um na variavel i. Agora, i = 5;

REPETE:
Checagem da condição de parada. i é menor ou igual (<=) a cinco? Sim, pois 5 = 5
Imprima na tela o valor de i;
Ação: Acresça um na variavel i. Agora, i = 6;

REPETE:
Checagem da condição de parada. i é menor ou igual (<=) a cinco? Não, pois 6 > 5
Fim do laço de repetição.

Pense nessa estrutura. Ficou fácil? :slight_smile:

[]'s

Ainda não cheguei no Java, mas vou buscar. Até bom aprender por causa POO.

Brother, sou eu , com outra conta, a que a gente tava conversando atingiu o limite de mensagem de um novo usuário do fórum !

Cara, sem palavras para esta explicação mas oque eu ainda não entendi é como aplicar isso pra fazer a tabuada que pede no enunciado …

Pensa assim: Uma tabuada consiste em um número multiplicado pelo outro. O nosso laço de repetição tá fazendo com que I sempre mude, certo? Começa com 0, vai pra 1, 2, 3…

Se você pensar bem, sua tabuada precisa de todos esses números! Você precisa fazer, basicamente, a quantidade de caracteres que você vai pegar vezes i! (Não esqueça de alterar o limite de sua tabuada).

Você só precisa alterar o código pro seguinte pensamento:

Ao invés de apenas exibir i, eu vou exibir a multiplicação x*i, onde x é a quantidade de caracteres que vou pegar.

Em exemplo:

Digite o nome da rua
Rua Santa Clara
Número de caracteres contidos em Rua Santa Clara: 15
15x1=15
15x2=30
15x3=45
15x4=60
15x5=75
15x6=90
15x7=105
15x8=120
15x9=135
15x10=150

Você consegue visualizar que eu só fiz com que a operação de multiplicação fosse repetida? É isso. Agora, é só pensar em como estruturar seu laço. É fácil, vamos lá! :smiley:

Vc ta quase desenhando pra mim e eu não to conseguindo captar … explicar melhor que isso não tem como :confused: e eu tenho certeza que é fácil

 for (int contador =1; contador <= 10; contador++) {
            System.out.println(rua.length() + "x" + contador + "=" + rua.length() * contador);
        }

Dá uma olhada nessa aula pra entender melhor :slight_smile:

Daí vai lá e fala do @staroski a respeito de paciência…

1 curtida

Não entendi… O @FearX me acha impaciente?
O que foi que eu fiz, ou deixei de fazer?

De forma alguma!

1 curtida

@staroski, pelo contrário.
E ele também se mostrou um monge budista com esse tópico.

3 curtidas