boas pessoal, acabei de me juntar a comunidade e entro ja com uma duvida, num trabalho para a faculdade na cadeira de programação em java surge-me o seguinte codigo:
import java.util.Scanner;
public class QueNomeDeveTerEstePrograma {
public static void main( String args[] ) {
Scanner teclado = new Scanner(System.in);
int n;
int u=0, d=0, c=0, m=0;
System.out.print("Indique um numero entre 1 e 9999");
n=teclado.nextInt();
if( n> 9999 )
System.out.println("Valor nao permitido");
else{
u = n % 10; n = n / 10;
d = n % 10; n = n / 10;
c = n % 10; n = n / 10;
m = n % 10;
System.out.println(u*1000 + d*100 + c*10 + m);
}
}
}
Ao qual é dado o seguinte enunciado:
[quote]Edite, compile e execute o programa apresentado. Formule um possível
enunciado e altere o nome da classe, em conformidade com o objectivo a
cumprir pelo programa.[/quote]
A verdade é q eu comecei a pouco tempo com a programação, e olho para isso e nem sequer percebo muito bem o q o programa faz quanto mais dar-lhe uma utilidade :S será que me podiam ajudar?
esse programa acha a unidade, dezena, centena, e unidade de milhar de um número com no máximo 4 algarismos.
O que eu achei bobo é ele imprimir o numero que acabou de achar os algarismos no final, ficaria mais interessante se ele colocasse uma mensagem informando qual é o algarismo…
Mas fazer o que, faculdade…
a verdade é q eu ainda nao percebi muito bem, e q tipo de utilidade isto tem! se eu colocar por exemplo 25 ele imprime 5200, se colocar 1234 ele imprime 4321, se colocar 10 ele imprime 100 :S nao percebo muito bem!
É uma variação de programa de “palíndromos” que volta e meia aparecem como exercício.
Você percebeu que se você puser o número 1331 (por exemplo) o resultado desse programa também será 1331?
Esse programa vira um numero de trás p/ frente.
[quote]É uma variação de programa de “palíndromos” que volta e meia aparecem como exercício.
Você percebeu que se você puser o número 1331 (por exemplo) o resultado desse programa também será 1331?[/quote]
sim sim thingol, ja tinha reparado nisso, mas se meter o numero 1 ele vira 1000 e se meter 10 vira 100, e ele nao vira simplesmente, se for o 23 fica 3200, mas isso nem é o pior! o problema é q eu nao vejo em q tipo de coisas pode ser aplicado, o objectivo do trabalho é esse, dar-lhe uma aplicação!
public class ViraNumero
{
public static void main(String[] args)
{
for (int i = 0; i < 10000; i++)
System.out.println(i + " : " + fazAlgo(i));
}
private static int fazAlgo(int n)
{
int u, d, c, m;
u = n % 10;
n = n / 10;
d = n % 10;
n = n / 10;
c = n % 10;
n = n / 10;
m = n % 10;
return u * 1000 + d * 100 + c * 10 + m;
}
}
Bem, o que estou vendo aqui é que o teu professor passou um programa p/ virar um numero de até quatro casas de trás p/ frente em outro numero de quatro casas.
O problema é que o programa tem um bug com números múltiplos de 10, que faz o programa imprimir um resultado não esperado.
Se esse efeito for de propósito, o programa deveria se chamar ImprimeNumerosDeTrasParaFrenteComQuatroCasasComExcecaoDeMultiplosDeDez ![:wink: :wink:](https://www.guj.com.br/images/emoji/twitter/wink.png?v=9)
Realmente não dá para ver muita utilidade prática nesse programa, mas ele tem um cunho didático, é com esses pequenos programinhas que você aprenderá a programar.
Por exemplo, para que serve um programa que calcule a potência pot de um número num ? Oras, meramente didático, já que com o Java você poderia usar o método pow da classe Math, assim:
num = Math.pow(num,pot);
Mas se o professor pedir um algorítmo que calcule a potência, não vá usar o método pow da classe Math, pois ele dará zero. O programinha serve apenas para você aprender a programar e conhecer a sintaxe da linguagem, e isso ocorre também com esse seu programa aí, note que você aprendeu para que serve o símbolo de percentual em Java, ou seja, para se obter o resto da divisão de um número pelo outro, e por aí vai.
Espero ter ajudado. Qualquer dúvida, poste aí, a galera aqui é show de bola !!!
muito obrigado a todos vosses, ja nao ha muito mais a mexer neste programa! deixa la ver o q é q posso fazer disto xD!
obrigado a todos [[]]