Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

TurboReemix-BR

Ajuda com Vetores e Laços de Repetição

Recommended Posts

Eu to fazendo um sistema bem simples de cadastro de nota pra escola, o problema é que na questão 3, ele pega apenas duas notas da materia atual, e ignora demais notas e materias anteriores

package rafa.bianca.agna.projeto;

import javax.swing.JOptionPane;

public class ProjetoCadastro {
			static int preenchidos = 0;
			
			public static void main(String[] args) {
			String[] materias = new String[200];
			for (int i = 0; i <= 199; i++) {
				materias[i] = "";
			}
			double[] notas = new double[200];
			for (int i = 0; i < 200; i++) {
				notas[i] = 0;
			}
			
			/* Questão 1 */
			for (;;) {
				int op = primeira_tela();
				if (op == 1) {
					for (int i = 0; i <= 199; i++) {
						if (materias[i].equals("")) {
							materias[i] = JOptionPane.showInputDialog("Disciplina");
							notas[i] = Double.parseDouble(JOptionPane.showInputDialog("Nota")); 
							JOptionPane.showMessageDialog(null, "Disciplina cadastrada com sucessso!");
							preenchidos++;
							break;
	
						}
					}
	
				}
			/* Questão 2 */
			if (op == 2) {
				int remover = Integer.parseInt(JOptionPane.showInputDialog(
						"Indique a qual posição em que se encontra" + " a disciplina que deseja remover!"));
				int i = remover;
				materias[i] = "";
				notas[i] = 0;
				JOptionPane.showMessageDialog(null, "Disciplina removida com sucessso!");
			}

			/* Questão 3 */
			if (op == 3) {
				int aux = 1;
				String x= "";
				String buffer= "";
				for (int i = 0; i < preenchidos; i++) {
					if(i==0) {
						buffer = "";
					}else {
						buffer = materias[i-1];
					}
					if(materias[i].equals(buffer)) {
						x = "Disciplina: " + materias[i] + "\n" + "Nota" + " " + aux + ":" + " " + notas[i];
					}else {
						x = "Disciplina: " + materias[i] + "\n" + "Nota" + " " + aux + ":" + " " + notas[i];
					}
					aux++;
				}
				if (aux == 1) {
					JOptionPane.showMessageDialog(null, "Essa disciplina não foi cadastrada!");
				} else {
					JOptionPane.showMessageDialog(null, x);
				}

			}
			
			/* Questão 4 */
			if (op == 4) {
				int aux = 1;
				String disci = JOptionPane.showInputDialog("Digite o nome da disciplina desejada!");
				String x = "Disciplina: " + disci;
				for (int i = 0; i < 199; i++) {
					if (materias[i].equals(disci)) {
						x = x + "\n" + "Nota" + " " + aux + ":" + " " + notas[i];
						aux++;

					}
				}
				if (aux == 1) {
					JOptionPane.showMessageDialog(null, "Essa disciplina não foi cadastrada!");
				} else {
					JOptionPane.showMessageDialog(null, x);
				}

			}
			}
		}
	

	public static int primeira_tela() {

		return Integer.parseInt(
				JOptionPane.showInputDialog("CADASTRO DE DISCIPLINA" + "\n" + "\n 1 - Adicionar" + "\n 2 - Remover"
						+ "\n 3 - Consultar todos" + "\n 4 - Consultar disciplina" + "\n" + "\n - Escolha uma opção:"));

	}
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tive que remover as chamadas ao swing p/ poder usar o REPL.

 

import java.util.Scanner;

public class Main {
			static int preenchidos = 0;
			static final int MAX_MATERIAS = 5;
			

			public static void main(String[] args) {
			  Scanner cin = new Scanner(System.in);
			  
			  String[] materias = new String[MAX_MATERIAS];
			  for (int i = 0; i < MAX_MATERIAS; i++) {
  				materias[i] = "";
	    	}
			  double[] notas = new double[MAX_MATERIAS];
  			for (int i = 0; i < MAX_MATERIAS; i++) {
  				notas[i] = 0;
  			}
			
			
			while(true) {
				System.out.println("CADASTRO DE DISCIPLINA" + "\n" + "\n 1 - Adicionar" + "\n 2 - Remover"
						+ "\n 3 - Consultar todos" + "\n 4 - Consultar disciplina" + "\n" + "\n - Escolha uma opção:");
				int op = Integer.parseInt(cin.nextLine());
				
				if (op == 1) {
					for (int i = 0; i < MAX_MATERIAS; i++) {
						if (materias[i].equals("")) {
						  System.out.print("Disciplina: ");
							materias[i] = cin.nextLine();
							System.out.print("Nota: ");
							notas[i] = Double.parseDouble(cin.nextLine());
							System.out.println("Disciplina cadastrada com sucessso!");
							preenchidos++;
						}
					}
				} else if (op == 2) {
				  System.out.print("Indique a qual posição em que se encontra a disciplina que deseja remover: ");
  				int remover = Integer.parseInt(cin.nextLine());
  				if (remover > MAX_MATERIAS) {
  				  System.err.println("Posição inválida");
  				} else {
  				  materias[remover] = "";
  				  notas[remover] = 0;
  				  System.out.println("Disciplina removida com sucessso!");
  				}
  				
  			} else if (op == 3) {
  				for (int i = 0; i < MAX_MATERIAS; i++) {
  					if (materias[i].equals("") == false) {
  					  System.out.println(String.format("Disciplina: %s \t Notas: %.2f\n", materias[i], notas[i]));
  					}
  				}
  			} else 	if (op == 4) {
  			  System.out.print("Digite o nome da disciplina desejada: ");
  				String nomeConsulta = cin.nextLine();
  				int i;
  				for (i = 0; i < MAX_MATERIAS; i++) {
  					if (materias[i].equals(nomeConsulta)) {
  						System.out.println(String.format("Nota: %.2f\n", notas[i]));
  						break;
  					}
  				}
  				if (i >= MAX_MATERIAS) {
  					System.err.println("Essa disciplina não foi cadastrada!");
  			  }
		    }
			}
		}
	
}

 

Cuide com o índice antes de acessar o array.
Se você quiser outra versão:

 

import java.util.Scanner;
import java.util.Map.Entry;
import java.util.List;
import java.util.ArrayList;

public class Main {
      public static enum OPCOES_PRINCIPAIS{NOOP, ADICIONAR, REMOVER, EXIBIR, CONSULTAR, SAIR};
      
      public static List<java.util.Map.Entry<String, Double>> materias = new ArrayList<java.util.Map.Entry<String, Double>>();
      
      public static Scanner cin = new Scanner(System.in);
      
			public static void menuPrincipal() {
			  System.out.println("-- CADASTRO DE DISCIPLINA --");
			  System.out.println("1- Adicionar");
			  System.out.println("2- Remover");
			  System.out.println("3- Exibir todas");
			  System.out.println("4- Consultar disciplina");
			  System.out.println("5- Sair");
			  System.out.print("Opção:");
			}
			
			public static void adicionarDisciplinas() {
			  String op;
			  do {
  			  System.out.print("Informe o nome da disciplina: ");
  			  String nome = cin.nextLine();
  			  
  			  System.out.print("Informe a nota da disciplina: ");
  			  Double nota = Double.parseDouble(cin.nextLine());
  			  
  			  materias.add(new java.util.AbstractMap.SimpleEntry<String,Double>(nome, nota));
  			  System.out.println("Disciplina cadastrada com sucesso.");
  			  
  			  System.out.print("Cadastrar outra disciplina (S/N)? ");
  			  op = cin.nextLine();
			  } while ("s".equalsIgnoreCase(op));
			}
			
			public static void removerDisciplina() {
			  System.out.print("Informe a posição da disciplina que deseja remover: ");
			  Integer pos = Integer.parseInt(cin.nextLine());
			  
			  if (pos < 0 || pos >= materias.size()) {
			    System.err.println("Posição inválida.");
			  } else {
			    materias.remove(pos);
			    System.out.println("Disciplina removida com sucesso.");
			  }
			}
			
			public static void exibirDisciplinas() {
			  for(java.util.Map.Entry<String, Double> e : materias) {
			      System.out.println(String.format("Disciplina: %s \t Nota: %.2f\n", e.getKey(), e.getValue()));
			  }
			}
			
			public static void consultarDisciplina() {
			  System.out.print("Informe o nome da disciplina: ");
			  String nome = cin.nextLine();
			  Boolean found = false;
			  materias.stream().filter(o -> o.getKey().equalsIgnoreCase(nome))
			                   .findFirst()
			                   .ifPresent(m -> System.out.println(String.format("Disciplina: %s \t Nota: %.2f\n", m.getKey(), m.getValue())));
			}
			  
			
			public static void main(String[] args) {
			  
			  while(true) {
			      menuPrincipal();
				    int op = Integer.parseInt(cin.nextLine());
				    
				    if (op == OPCOES_PRINCIPAIS.SAIR.ordinal()) break;
				    
				    if (op == OPCOES_PRINCIPAIS.ADICIONAR.ordinal()) {
                  adicionarDisciplinas();
				    } else if (op == OPCOES_PRINCIPAIS.REMOVER.ordinal()) {
                  removerDisciplina();
				    } else if (op == OPCOES_PRINCIPAIS.EXIBIR.ordinal()) {
					        exibirDisciplinas();
				    } else if (op == OPCOES_PRINCIPAIS.CONSULTAR.ordinal()) {
                  consultarDisciplina();
				    } else {
                  System.err.println("Opção inválida.");
				    }
			  }
			}
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ILR master
      Pessoal, pergunta bem simples. Abaixo tenho o seguinte código:
       
      <script>
      function alerta()
      {
        if (window.confirm("Você realmente quer sair?")) {
          window.open("sair.html");
      }
      }
      </script>
       
      Funciona perfeitamente, só que está abrindo em outra janela e quero que abra na mesma janela.
       
      Alguém pode me ajudar?
    • Por Jack Oliveira
      Ola pessoal boa tarde
      estou tentando fazer um texto se mover dentro do input porem nao esta dando resultado que preciso
       
      Este é o codigo 
      <script type="text/javascript"> $(document).ready(function () { var frases = [{ 'elemento': $('input[name=search_string]'), 'frases': ["O que você está procurando?", "Buscar por: Academia, Barbearia, Churrascaria, Decoração, Escola, Farmácia, Gráfica, Imobiliaria, Lanchonete, Mecânica, Odontologia, Pizzaria...", "Faça sua busca por segmentos aqui.", "São mais de 3mil empresas para serem exploradas."] }]; animaInput(frases); }); </script>  
    • Por Rengavitp
      Boa noite pessoal!
       
      Estou fazendo um projeto web com spring boot e é a primeira vez que lido com imagens. Minha idéia é salvar imagens em uma pasta e depois recuperar essa imagem e mostrar, mas o problema que estou enfrentando é o seguinte, seu eu envio para o src do projeto na pasta imagens, eu até consigo acessar as imagens, mas preciso atualizar o projeto na IDE (isso vai acontecer em produção?) eu tentei salvar em uma pasta fora do source do projeto mas ai não consigo acessar. como devo fazer? fiz várias pesquisas, mas nenhuma me ajudou.
       
      Desde já agradeço.
    • Por Rengavitp
      Bom dia pessoal!

      Estou com o seguinte problema, tenho uma aplicação que funciona perfeitamente rodando na minha IDE (Spring Tool Suite) mas ao gerar o arquivo war e subir a aplicação no tom cat ele não funciona, mas apenas erro 404, abri o war e todos os arquivo estão lá, já tem seguir tudo quando e tutorial com problemas semelhantes mas nenhum resolveu. Abaixo mais informações,.

      Versão do java na aplicacao 11
      Versão do jva no servidor 11
      Versão do tomcat no servidor 8.5.55
       
      minha classe principal
      package br.com.masterplastfitas; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; @SpringBootApplication public class MasterApplication extends SpringBootServletInitializer { public static void main(String[] args) { SpringApplication.run(MasterApplication.class, args); } @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { return builder.sources(MasterApplication.class); } } meu pom.xml
      <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.7.2</version> <relativePath /> <!-- lookup parent from repository --> </parent> <groupId>masterplast</groupId> <artifactId>Master</artifactId> <version>2.0</version> <packaging>war</packaging> <name>Master</name> <description>Aplicação web </description> <properties> <java.version>11</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</optional> </dependency> <dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId>mssql-jdbc</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency> <groupId>org.thymeleaf.extras</groupId> <artifactId>thymeleaf-extras-springsecurity5</artifactId> </dependency> <dependency> <groupId>org.mindrot</groupId> <artifactId>jbcrypt</artifactId> <version>0.4</version> </dependency> <dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf</artifactId> <version>5.5.0</version> </dependency> </dependencies> <build> <plugins> <!-- <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> --> </plugins> </build> </project>  
    • Por Stephhany909
      While trying to persist an object with an attribute of type Point, defined as follows:
       
      @Entity @Table(name = "event") public class Event { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id") private long id; @Column(columnDefinition = "POINT") private Point coordinate; } I'm getting the error Data truncation: Cannot get geometry object from data you send to the GEOMETRY field.
      The corresponding database table is defined as follows:
       
      create table event ( id bigint not null auto_increment, coordinate POINT, primary key (id) ) engine= InnoDB; What am I missing?
       
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.