How i do a count by a text box? | Como faço uma contagem por uma caixa de texto?

9 respostas Resolvido
programaçãojava
K

Hello! I am creating a program where the user types a value in a text box and 250 is added every 1, for example the user types 1 and when he clicks the button the result is displayed 250 if he types 2, 500 is displayed but every 10 instead of 250 he adds 1500, for example if the user types 10, he should display the result 3750 (250x9 + 1500) but I don’t know how to do that can someone help me?


Tradução (Google Tradutor):

Olá! Estou criando um programa em que o usuário digita um valor em uma caixa de texto e 250 é adicionado a cada 1, por exemplo, o usuário digita 1 e quando ele clica no botão, o resultado é exibido 250 se ele digitar 2, 500 é exibido, mas a cada 10 em vez de 250, ele adiciona 1500; por exemplo, se o usuário digitar 10, ele deve exibir o resultado 3750 (250x9 + 1500), mas não sei como fazer isso. Alguém pode me ajudar?

9 Respostas

P

Java tradutor: :smile_cat:

int theInput= 15;

double result = theInput < 10? theInput * 250: 9 * 250 + (theInput - 9) * 1500;
System.out.println(theInput);

Or every 10?

int theInput= 25;
int every10 = theInput  % 10;
double result = (theInput - every10) * 250 + every10 * 1500;
System.out.println(theInput);
K

olá o obrigado pela ajuda mas o código que você mandou esta dando apenas 25 em todos os numeros digitados eu preciso que ele va aumentando, por exemplo 1=25 2=50 e quando chegar em 10 ele aumente 150 ao inves de 25

P

É pra imprimir a variável result :sweat_smile:.

System.out.println(result);

Onde está 250 coloque 25.
Onde está 1500, troque para 150.

K

ele está me dando um valor só, esse código que você mandou não tem nada relacionado ao textfield, ele vai pegar o valor do text field e fazer um calculo com o valor que está no text field ou seja quando alguem digitar 1 no textfield vai aparecer 25 quando digitar 2 50 e assim vai aumentando como uma contagem mesmo porém a cada 10 ele não aumenta 25 e sim 150

P

depois do método
initComponents();
adicione:

seuCampoDeTexto.addActionListener(onAction -> {
        int theInput = Integer.parseInt(seuCampoDeTexto.getText());
        double result = theInput < 10? theInput * 250: 9 * 250 + (theInput - 9) * 1500;
        System.out.println(result);
    });
K

agora esta funcionando porém ele esta adicionando 150 a partir do 10 eu preciso que ele adicione 150 no dez e depois volte a adicionar 25, depois no 20 ele adicione mais 150 e assim sucessivamente

P

É só adaptar.

K

agora ele conta de 150 em 150 em vez de 25 em 25

P
Solucao aceita

Não vai dar certo, o módulo só vai de 0 a 9.

public void mock() {
       teste(9);
       teste(10);
       teste(20);
       teste(25);
       teste(36);        
}

private void teste(int theInput){
    int ciclos = theInput/10;
    System.out.println((theInput - ciclos) * 25 + ciclos * 150);
}

Creio que você já sabe substituir o theInput pela entrada do user.

Criado 5 de fevereiro de 2020
Ultima resposta 6 de fev. de 2020
Respostas 9
Participantes 2