Ir ao conteúdo
  • Cadastre-se

lsnkesp

Membro Pleno
  • Posts

    65
  • Cadastrado em

  • Última visita

posts postados por lsnkesp

  1. Boa tarde, estou tentando criar um aplicativo simples de seleção brasileira, mas na tentativa de abrir outra tela simplesmente não faz nada e não sei onde estou errando, alguém pode me ajudar?

     

    Segue códigos abaixo (estou usando Android Studio com programação Java):

    package com.example.selecaobrasileira;
    
    import androidx.appcompat.app.AppCompatActivity;
    
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    
    public class Main extends AppCompatActivity {
    
        private Button botaoAbrir;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            botaoAbrir = findViewById(R.id.botao);
            botaoAbrir.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    Intent outraTela = new Intent(getApplicationContext(), SegundaTela.class);
                    startActivity(outraTela);
                }
            });
        }
    }

     

    Segunda tela:

    package com.example.selecaobrasileira;
    
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    
    import androidx.appcompat.app.AppCompatActivity;
    
    public class SegundaTela extends AppCompatActivity {
        private Button botaoFechar;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_outra_tela);
            setTitle("OutraTela");
            botaoFechar = findViewById(R.id.button);
            botaoFechar.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    finish();
                }
            });
    
        }
    }

    Na verdade, quando clico em ABRIR TELA, o app simplesmente para de funcionar e fecha, o que pode ser isso? Qualquer informação adicional que precisar para ajudar, eu mando, ainda estou aprendendo.

     

    Captura de tela 2022-10-19 150805.png

    • Obrigado 1
  2. Boa tarde, estou fazendo essa questão:

    Citação

    1. Um hotel com 75 apartamentos deseja fazer uma promoção especial de final de semana, concedendo um desconto de 25% na diária. Com isso, espera-se aumentar sua taxa de ocupação de 50 para 80%. Sendo dado o valor normal da diária, calcule e imprima:

    a. O valor da diária proporcional;

    b. O valor total arrecadado com 80% de ocupação e diária proporcional;

    c. O valor total arrecadado com 50% de ocupação e diária normal;

    d. 2. A diferença entre esses dois valores. 

    E fiz da seguinte forma:

    #include <stdio.h>
    
    int main() {
    	double x;
    	printf("Diaria: ");
    	scanf("%lf", &x);
    	printf("\nD. Promocional: %f", x - (0.25 * x));
    	double xDP = (75.0 * 0.8) * (x - (0.25 * x)), xDN = (75.0 * 0.5) * x;
    	printf("\nDProporcial: %f, DNormal: %f", xDP, xDN);
    	printf("\nDif.: %f", xDP - xDN);
    	return 0;
    }

    Mas me disseram que não está totalmente correta e sinceramente não sei o que estou errando, alguém pode me ajudar a identificar o erro? Obrigado.

    • Obrigado 1
  3.  

    Boa noite, alguém pode me ajudar com essa questão? Fiz da seguinte forma, mas não sei se meu raciocínio está de boa (qualquer dica é bem-vinda, obrigado!)

    Enunciado:

    Citação

    Faça um programa que calcule a quantidade de latas de tinta necessária para
    pintar um aposento. O programa deve receber como entradas as dimensões desse aposento
    (largura e comprimento). Considere que:
    a. O aposento tem paredes perpendiculares;
    b. O pé-direito (altura do piso ao teto) do aposento mede 2,80 m;
    c. Deverão ser pintadas apenas as paredes;
    d. O aposento tem apenas uma porta (cuja área deve ser descontada), medindo 0,80 m
    de largura e 2,10 m de altura;
    e. Não é necessário descontar a área da janela;
    f. Cada lata de tinta tem 5 litros;
    g. Cada litro de tinta pinta aproximadamente 3 metros quadrados.

    #include<stdio.h>
    #include<math.h>
    int main(void) {
    	float largura, altura, totalArea, area, L, quantidadeLatas, porta = 0.80 * 2.10;
    	printf("\nObs.: Altura da parede (Pe-direito, de acordo com o enunciado): 2.80");
    	printf("\nLargura: ");
    	scanf("%f",&largura);
    	area = largura * 2.80;
    	totalArea = area - porta;
    	L = totalArea / 3.0;
    	quantidadeLatas = L / 5.0;
    	printf("\nUma vez que não e possível utilizar latas de tinta fracionadas, sera necessario utilizar %.1f latas de tintas!", ceil(quantidadeLatas));
    	return (0);
    }

     

    • Obrigado 1
  4. Alguém pode me ajudar a entender essa questão? Eu sinceramente buguei real kkkk (é pra uma atividade)

     

    Escreva um programa em Java que receba linhas de entrada pelo dispositivo de entrada padrão (teclado), e escreva-as no dispositivo de saída
    padrão na ordem contrária; isto é, cada linha é exibida na ordem correta, mas a ordem das linhas é invertida.

     

    Parece simples, mas tô confusa.

  5. @fredblaster Infelizmente não suporta, ele só tem 1gb de ram e a velocidade de clock dele é baixa. Não ia dar muito certo. Ele é daqueles antigos.

    @william sergio Bom dia :), infelizmente não tenho, ainda sou nova, juntando o que preciso conforme vou pegando outros. Aprendendo c a prática. Ja formatei outros e esse foi o único que ficou assim. Inclusive, aguardei a tela até sair do looping e apareceu o que está na foto: (mesma coisa que estava dando quando eu peguei o notebook, antes de formatar).

    IMG_20220223_093413.jpg

  6. Bom dia gente, esses tempos to pegando uns notebooks pra formatar, esse o dito cujo está com problema.

    Formato tudo beleza, tranquilão e instalo os drivers do fabricante, mas depois que desligo e quero ligar de novo, ele trava na tela inicial que fica carregando, onde fica o nome Microsoft Corporation e carrega infinitamente... (W7 Ultimate).

    Fiz teste de memória mas nenhum problema foi detectado, é a segunda vez q formato e da a mesma coisa, na verdade acho que o real problema não é o sistema e sim o HD dele. O que acham?

    Aliás, eu cobrei 50 reais, devo cobrar algum valor pelo serviço sendo que formatei e tudo, instalei tudo certinho, mas na hora de ligar dá esse BO? Ainda sou meio leiga na área, n sei nem o que vou falar pro cliente e ele é daqueles meio chatos. Um saco.

    Qualquer conselho é bem vindo, obrigado!

  7. Boa tarde galera, alguém pode me ajudar nessa questão? Não sei como poderia fazer. Qualquer dica é bem vinda, obrigado!

    Citação

    Escreva um programa modularizado em C que calcule o resto da divisão inteira entre dois números inteiros, dividendo e divisor.

    Ocorre que o dividendo pode ter até 1000 dígitos, de forma que não um tipo de dados que represente inteiros que possa armazená-lo.

    O que não tô sabendo fazer é somente a questão do dividendo poder ter até 1000 dígitos, achei que isso nem era possível :D

    Meu código:

    #include <stdio.h>
    int restoDivisaoInteira(int dividendo, int divisor);
    
    int main(void) {
    	int dividendo, divisor;
    	// dividendo pode ter até 1000 dígitos (?)
    	scanf("%d %d", &dividendo, &divisor);
    	return (0);
    }
    
    int restoDivisaoInteira(int dividendo, int divisor) {
    	int result = dividendo % divisor;
    	return (result);
    }

     

    • Obrigado 1
  8. Gente estou fazendo uma atividade com algumas questões da OBI em linguagem C e o mesmo erro sempre ocorre: Houve um erro durante o processamento: conexão com o servidor falhou.

    Alguém sabe me dizer se é o site que não está funcionando? (já faz alguns dias que persiste nisso)

    valeu

    • Curtir 1
  9. @AdrianoSiqueira Sim, percebi que se torna 1231266x mais fácil trabalhar com string nesses casos.

    Eu consegui resolver assim:

    Main:
    case "c" -> {
                        System.out.println("Salário, Nome, CPF e Senha");
                        String salarioDiretor = y.nextLine();
                        Double salario;
                        try {
                            salario = Double.parseDouble(salarioDiretor);
                            String nome = y.nextLine();
                            String cpf = y.nextLine();
                            y.nextLine();
                            String senha = y.nextLine();
                            System.out.println(control.cadastrarDiretor(nome, cpf, salario, senha));
                        } catch (NumberFormatException e) {
                            System.out.println("ERRO: " + e.getMessage() + ": Não foi possível cadastrar o diretor.");
                        }
                    }
    Controller:
    public String cadastrarDiretor(String nome, String cpf, double salario, String senha) throws NumberFormatException {
            String teste = senha;
            if (verificacao(teste)) {
                f = new Diretor(nome, cpf, salario, Integer.parseInt(senha));
                mapaAut.put(cpf, (Autentica) f);
                return "Diretor " + nome + " cadastrado.";
            } else {
                throw new NumberFormatException("Senha possui caractere, precisa ser inteiro. Tente novamente.");
            }
        }
    
    public boolean verificacao(String senha) {
            char[] v = senha.toCharArray();
            for (int i = 0; i < v.length; i++) {
                if (!Character.isDigit(v[i])) {
                    return false;
                }
            }
            return true;
        }

    Enfim, foi a única forma mais fácil que encontrei de resolver o problema que retorna "null" no e.getMessage().

    Inclusive, obrigada, também vou utilizar a sua maneira como base para resoluções futuras.

    Só mais uma coisa, você pode me dizer como vai funcionar esse matches()? Nunca havia utilizado.

  10. 10 horas atrás, lsnkesp disse:

    @Flávio Pedroza Continua retornando null.

     

    Meu método está assim:

    public void cadastrarDiretor(String nome, String cpf, double salario, int senha) throws InputMismatchException {
            if (ehInteiro(Integer.toString(senha)) == true) {
                f = new Diretor(nome, cpf, salario, senha);
                mapaAut.put(cpf, (Autentica) f);
            } else {
                throw new InputMismatchException("Ocorreu um erro.");
            }
        }

    Main:

    case "c" -> {
                        System.out.println("Nome, CPF, Salário e Senha");
                        try {
                            control.cadastrarDiretor(y.nextLine(), y.nextLine(), y.nextDouble(), y.nextInt());
                        } catch (InputMismatchException e) {
                            System.out.println(e.getMessage());
                        }
                        y.nextLine();
                    }

    Execução (Caso eu digite um caractere ao invés de um inteiro na entrada do valor "Senha".

     

    Eu consegui resolver fazendo conversão de senha pra String, caso seja identificado algum caractere na minha senha, lança a exceção e assim consigo trata-la no main.

    De qualquer forma, ainda gostaria de saber o que rolou, porque realmente não ta funcionando utilizando int. 😕

  11. @Flávio Pedroza Continua retornando null.

     

    Meu método está assim:

    public void cadastrarDiretor(String nome, String cpf, double salario, int senha) throws InputMismatchException {
            if (ehInteiro(Integer.toString(senha)) == true) {
                f = new Diretor(nome, cpf, salario, senha);
                mapaAut.put(cpf, (Autentica) f);
            } else {
                throw new InputMismatchException("Ocorreu um erro.");
            }
        }

    Main:

    case "c" -> {
                        System.out.println("Nome, CPF, Salário e Senha");
                        try {
                            control.cadastrarDiretor(y.nextLine(), y.nextLine(), y.nextDouble(), y.nextInt());
                        } catch (InputMismatchException e) {
                            System.out.println(e.getMessage());
                        }
                        y.nextLine();
                    }

    Execução (Caso eu digite um caractere ao invés de um inteiro na entrada do valor "Senha".

    Citação

    c (escolhi a opção c)
    Nome, CPF, Salário e Senha
    testando
    1232
    2000
    a (digitei um caractere)
    null (e.getMessage() retorna null)

     

  12. Gente alguém pode me ajudar? Tô estudando exceções e to confusa.

    Tô lançando uma exceção toda vez que é digitado no campo senha (que é um int) uma string

    Quero lançar uma exceção para caso seja digitado uma senha com algum caractere, mas não tô sabendo como fazer.

    Este é o código de execução (main):

    case "c" -> {
                        try {
                            System.out.println("Nome, CPF, Salário e Senha");   
                            control.cadastrarDiretor(y.nextLine(), y.nextLine(), y.nextDouble(), y.nextInt());
                        } catch(Exception e) {
                            System.out.println(e.getMessage());
                        }
                        y.nextLine();
                    }

    Está lançando da maneira correta, o problema é que eu queria lançar no método de cadastro de diretor, para assim poder tratá-la no main.

    (Este metodo ehInteiro(); serve para verificar se o que foi digitado no atributo senha é um inteiro, caso não seja, lançaria a exceção).

    public void cadastrarDiretor(String nome, String cpf, double salario, int senha) {
            if(ehInteiro(Integer.toString(senha))) {
                f = new Diretor(nome, cpf, salario, senha);
                mapaAut.put(cpf, (Autentica) f);
            } else {
                throw new InputMismatchException("Ocorreu um erro.");
            }
        }

    A mensagem exibida na verdade é "null" e não "Ocorreu um erro", e eu não estou conseguindo entender porque.

    Se alguém puder me ajudar sendo respeitoso, ficarei grata (Ainda estou com bastante dificuldade nessa parte).

  13. @AdrianoSiqueira Eu também nunca havia pensado dessa forma, fazendo o teste para ver se estava tudo correto, resolvi vincular diretor e aluno (diretor é uma extensão de professor), apenas para verificar se estava vinculando somente professor e aluno, o inesperado aconteceu: retornou true mesmo fazendo a verificação se era um instanceof de professor. Foi aí que ficou confuso, está bem mais claro agora com sua explicação, obrigada!!!!

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!