Ir ao conteúdo
  • Cadastre-se

Khromos

Membro Júnior
  • Posts

    6
  • Cadastrado em

  • Última visita

Reputação

2
  1. Fala galerinha. To começando ai na programação e estou estudando aqui no Canadá. Então estou fazendo uma calculadora em Android Studio e está quase completa, porém falta 2 coisas essenciais. como eu faço pra bloquear os botões de operação (+-*/) depois de clicados? Fiz algo do tipo if(opClicked = true) com uma variavel booleana e passei o valor false após o uso mas n está funcionando. Alguém poderia me ajudar a resolver esse codigo? valeu gente. package calculator_college.calculator; import android.icu.text.DecimalFormat; import android.icu.text.NumberFormat; import android.os.PersistableBundle; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import org.w3c.dom.Text; public class MainActivity extends AppCompatActivity{ TextView textView; double num1=0, num2=0, result = 0; int operators = 0; boolean opClicked = false; boolean resultDone = false; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView = (TextView) findViewById(R.id.result); } public void setOpClicked(View view) { Button temp = (Button) view; Log.d("OPBUTTON","button text: "+temp.getText().toString()); num1 = Double.parseDouble(textView.getText().toString()); switch (temp.getText().toString()) { case "+": operators = 1; textView.setText(""); opClicked = true; break; case "-": operators = 2; textView.setText(""); opClicked = true; break; case "X": operators = 3; textView.setText(""); opClicked = true; break; case "/": operators = 4; textView.setText(""); opClicked = true; break; case "xY": operators = 5; textView.setText(""); opClicked = true; break; } Log.d("OPBUTTON","Operator button: "+operators); Log.d("OPBUTTON", "num1: "+num1); if (resultDone) { resultDone = false; } } public void numClicked(View view) { if (textView.getText().equals("0.0")) { textView.setText("0"); } String number = ((Button) view).getText().toString(); TextView result = ((TextView)findViewById(R.id.result)); result.setText(String.format("%s%s", result.getText().toString(), number)); } public void resultClicked(View view) { num2 = Double.parseDouble(textView.getText().toString()); Log.d("OPBUTTON","num2: "+num2); switch (operators) { case 1: if(opClicked == true){ result = num1 + num2; Log.d("RESULTBUTTON","result-direct: "+result); opClicked = false; break; case 2: if (opClicked == true){ result = num1 - num2; opClicked = false; } break; case 3: if (opClicked == true){ result = num1 * num2; opClicked = false; } break; case 4: if (opClicked == true){ result = num1 / num2; opClicked = false; } break; case 5: if (opClicked == true){ result = Math.pow(num1, num2); opClicked = false; } break; } public void delClicked(View view) { if (opClicked = true) { String s = textView.getText().toString(); textView.setText(""); for (int i = 0; i < s.length() - 1; i++) { textView.setText((String.format("%s%c", textView.getText().toString(), s.charAt(i)))); } opClicked = false; } } public void clearClicked(View view) { if (opClicked = true){ textView.setText(""); opClicked = false; num1 = 0.0; num2 = 0.0; result = 0.0; opClicked = false; } } public void percentageClick(View view) { if (opClicked == true) { num2 = Double.parseDouble(textView.getText().toString()); if (num1 != 0) { result = (num1 * num2) / 100; } textView.setText(String.format("%s", result)); Log.d("RESULTBUTTON", "result: " + result); opClicked = false; } } public void pow2Clicked(View view) { if (opClicked) { num1 = Double.parseDouble(textView.getText().toString()); result = num1 * num1; int temp = (int) result; } if (temp == (Double) result) { textView.setText(temp + ""); num1 = Double.parseDouble(textView.getText().toString()); } else { textView.setText(result + ""); num1 = Double.parseDouble(textView.getText().toString()); } opClicked = false; } Log.d("RESULTBUTTON","result: "+result); } public void sqrtClicked(View view) { if (opClicked == true) { num1 = Double.parseDouble(textView.getText().toString()); textView.setText(Math.sqrt(num1) + ""); opClicked = false; } } }
  2. Fala galera. Estou aqui no Canadá fazendo curso de web and mobile development e essa sexta feira tive uma prova. Apenas 2 questões não consegui desenvolver porque deu code blocking (que é como eles chamam aqui quando você n consegue pensar no codigo) e não consegui terminar a questão. vocês poderiam me ajudar? Bem, basicamente a única coisa que preciso é no case 3 a opção é pra add um novo estudante e no case 4 tem que remover ele. Eu criei um método fora da classe main pra dobrar o número de arrays pra poder adicionar novo estudante. Vou mandar a Classe Student e a classe main pra vocês me ajudarem. To tentando descobrir atraves do livro e do youtube se consgo resolver mas se vocês me ajudarem agradeço. Ja entreguei o teste e tirei 90% mas enquanto n aprender essa porcaria eu n paro. ahuhaua valeu! public class Student { private String name; private int id; private int age; int count = 0; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getId() { return id; } public void setId(int id) { this.id = id; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String toString() { return (" "+name+" | "+age+" | "+id+"\n"); } } -----------------------------------------Classe main------------------------------- import java.util.Scanner; public class MainApp { public static void main(String[] args) { Student[] students = new Student[5];// instanciate a Student array with 5 students //Initializing the arrays students[0] = new Student(); students[1] = new Student(); students[2] = new Student(); students[3] = new Student(); students[4] = new Student(); //Starting the menu int menu = 0; Scanner scanStudent = new Scanner(System.in); //While the menu options is small than 5 start a while loop to make the menu always working until exit comand. while (menu < 6) { System.out.println("Welcome to midterm app, please choose from the following: \n"); System.out.println("1 - fill students data"); System.out.println("2 - Print all students"); System.out.println("3 - Add student"); System.out.println("4 - Exit program"); System.out.println("-----------------------------------------------------------"); Scanner scan = new Scanner(System.in); menu = scan.nextInt(); //Menu options switch (menu) { case 1: for (int i = 0; i < students.length; i++) { //Filling the student informations. System.out.println("Enter name student " + (i+1) + ": "); students.setName(scanStudent.nextLine()); System.out.println("Enter Age student " + (i+1) + ": "); students.setAge(scan.nextInt()); System.out.println("Enter ID student " + (i+1) + ":"); students.setId(scan.nextInt()); } break; case 2: //If student have null it´s mean there´s no student. Else print the message telling that the program need something else if (students == null) { System.out.println("You have to fill all the students"); }else { System.out.println("\t\tName\t\t|\t\tAge\t\t|\t\tId\t\t\n"+ "==========================================\n"); for (int i = 0; i < students.length; i++) { System.out.println(students.toString()); } } break; case 3: int count = 5; if (students.length > count) { Student[] studentSize = new Student[students.length * 2]; for (int student = 0; student < students.length; student++) { studentSize[student] = students[student]; students = studentSize; students[students.length] = new Student(); count++; } }else { System.out.println("Enter name student : "); students[students.length].setName(scanStudent.nextLine()); System.out.println("Enter Age student : "); students[students.length].setAge(scan.nextInt()); System.out.println("Enter ID student :"); students[students.length]. setId(scan.nextInt()); } break; //Exit the program case 4: System.exit(0); break; } } } private void increaseSize() { String students = null; Student[] temp = new Student[students.length * 2]; for (int i = 0; i < students.length; i++) { temp = students; students = temp; } } valeu a ajuda galera. adicionado 3 minutos depois Desculpa galera, o título saiu errado. Poderiam me ajudar a mudar? =\ valeu!
  3. Fala meu povo. To aqui noobando de novo no curso de Java. Estou tentando implementar um arrayList em um cadastro de cidades. Vou colar as 3 classes e 1 Interface que estou fazendo. Se alguém puder ajudar agradeceria bastante. (CLASSE CIDADE) package exercicioAula05; public class Cidade { private int codigo; private String cidade; private String uf; public int getcodigo(){ return codigo; } public void setCodigo(int codigo){ this.codigo = codigo; } public String getCidade(){ return cidade; } public void setCidade(String cidade){ this.cidade = cidade; } public String getUf(){ return uf; } public void setUf(String uf){ this.uf = uf; } public Cidade() { } @override public String toString() { return "Cidade{" + "codigo=" + codigo + ", cidade=" + cidade + ", uf=" + uf + '}'; } } (INTERFACE PERSISTENCIA) package exercicioAula05; import java.util.Collection; public interface Persistencia { public void inserir(Cidade c); public Collection listar(); } (CLASSE PERSISTENCIA CIDADE) package exercicioAula05; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import javax.swing.JOptionPane; public class PersistenciaCidade implements Persistencia{ private Object cidades; @override public void inserir(Cidade c) { ArrayList cidades = new ArrayList(); cidades.add("São Paulo"); cidades.add("Maceió"); cidades.add("Curitiba"); cidades.add("João Pessoa"); cidades.add("Rio de Janeiro"); JOptionPane.showMessageDialog(null, Arrays.toString(cidades.toArray())); Cidade c1 = new Cidade(); c1.setCidade("São Paulo"); c1.setCodigo(01); c1.setUf("SP"); Cidade c2 = new Cidade(); c1.setCidade("Maceió"); c1.setCodigo(02); c1.setUf("AL"); Cidade c3 = new Cidade(); c1.setCidade("Curitiba"); c1.setCodigo(03); c1.setUf("PR"); Cidade c4 = new Cidade(); c1.setCidade("João Pessoa"); c1.setCodigo(04); c1.setUf("PA"); Cidade c5 = new Cidade(); c1.setCidade("Rio de Janeiro"); c1.setCodigo(05); c1.setUf("RJ"); ArrayList cadastroCidade = new ArrayList(); cadastroCidade.add(c1); cadastroCidade.add(c2); cadastroCidade.add(c3); cadastroCidade.add(c4); cadastroCidade.add(c5); JOptionPane.showMessageDialog(null, cadastroCidade.toArray()); } @override public Collection listar() { Tem que listar aqui mas to meio perdido } } (CLASSE CADASTROCIDADE) package exercicioAula05; import javax.swing.JOptionPane; public class CadastroCidades extends PersistenciaCidade{ public static void main(String[] args){ String menu = ("Escolha sua opção: \n" + "01 - Cadastrar\n" + "02 - Imprimir \n " + "03 - Sair do programa "); boolean sair = false; PersistenciaCidade Pc = new PersistenciaCidade(); while(sair == false){ int op = Integer.parseInt(JOptionPane.showInputDialog(menu)); switch(op){ case 01: JOptionPane.showMessageDialog(null, inserir()); break; case 02: JOptionPane.showMessageDialog(null, listar()); break; case 03: JOptionPane.showMessageDialog(null, "Muito obrigado por usar nosso software. \n" + "Tenha um bom dia!"); sair = true; } } } } valeu galera!
  4. Nossa, agora aparece um novo erro! package aula03;import javax.swing.JOptionPane;public class cadastroClientes { public static void main(String[] args) { Clientes [] pessoas = new Clientes[5]; int codigo; String nome; String menu = "01 - Cadastrar \n"+ "02 - Imprimir \n" + "03 - Sair do Programa \n"+ " Escolha sua opção \n\n"; boolean sair = false; while(sair == false){ int op = Integer.parseInt(JOptionPane.showInputDialog(menu)); switch(op){ case 1: for (int i = 0; i < pessoas.length; i++){ Clientes p1 = new Clientes(); codigo = Integer.parseInt("Digite o codigo da " + (i+1) + " pessoa: "); nome = JOptionPane.showInputDialog("Digite o nome da " + (i+1) + " pessoa: " ); p1.setCodigo(codigo); p1.setNome(); pessoas[i] = new Clientes(); pessoas[i] = p1; } break; case 2: int i = 0; JOptionPane.showMessageDialog(null, "Código: " + pessoas[i].getCodigo()); JOptionPane.showMessageDialog(null, "Pessoa: " + pessoas[i].getNome()); break; case 3: JOptionPane.showMessageDialog(null, "Obrigado por usar a Khromos corporation! \n Tenha um bom dia!"); sair = true; } } }} Dai da esse erro aqui quando compila: Exception in thread "main" java.lang.NumberFormatException: For input string: "Digite o codigo da 1 pessoa: " at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) at java.lang.Integer.parseInt(Integer.java:580) at java.lang.Integer.parseInt(Integer.java:615) at aula03.cadastroClientes.main(cadastroClientes.java:26) Dai n compila! =\
  5. hum, nossa qt erro. kkkk vou testar aqui. assim que terminar eu posto o resultado. brigadão cara
  6. Então galera, to começando a estudar Java e C# e estou com essas pequenas dúvidas. 1 - crie classe Clientes com atributos código e nome e métodos set e get. (ja foi criado a classe em outra janela com os métodos set e get) 2 - Crie uma classe chamada CadastroClientes com método main 3 - Crie uma rotina de cadastro com as opções - 01 - Cadastrar - 02 imprimir - 03 - sair do programa 4 - na opção cadastrar cadastre clientes no Máximo 5 5 - Na opção imprimir, imprima (usar JOptionPane 6 - Na opção 3 encerre o programa! O exercício que tenho que fazer pro curso é esse. mas qd coloco pra rodar ele aparece umas mensagens doidas. estou usando o eclipse. n encontrei o erro. alguém pode ajudar esse pequeno padawan. ahuhauha hauahau package aula03;import javax.swing.JOptionPane;public class cadastroClientes { public static void main(String[] args) { Clientes [] pessoas = new Clientes[5]; int codigo; String nome; String menu = "01 - Cadastrar \n"+ "02 - Imprimir \n" + "03 - Sair do Programa \n"+ " Escolha sua opção \n\n"; boolean sair = false; while(sair == false){ int op = Integer.parseInt(JOptionPane.showInputDialog(menu)); switch(op){ case 1: for (int i = 0; i < pessoas.length; i++){ Clientes p1 = new Clientes(); codigo = Integer.parseInt("Digite o codigo da " + (i+1) + " pessoa: "); nome = JOptionPane.showInputDialog("Digite o nome da " + (i+1) + " pessoa: " ); p1.setCodigo(codigo); p1.setNome(); pessoas[i] = new Clientes(); pessoas[i] = p1; } break; case 2: int i = 0; JOptionPane.showMessageDialog(null, "Código: " + pessoas[i].getCodigo()); JOptionPane.showMessageDialog(null, "Pessoa: " + pessoas[i].getNome()); break; case 3: JOptionPane.showMessageDialog(null, "Obrigado por usar a Khromos corporation! \n Tenha um bom dia!"); sair = true; } } }}

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...