olá pessoal!
sou novato em programação java, e estou precisando de uma ajuda:
o que me foi pedido:
Criar um programa que
1 - Leia 20 valores do tipo inteiro, atraves de metodo especifico;
2 - Imprima os valores, através do método especifico;
3 - Altere um valor de uma determinada posição do vetor, através de método especifico;
4 - Atribua o valor null a todas posições do vetor, eliminando os valores lidos;
as partes 1, 2, e 4 eu ja tenho uma ideia e quase certeza de como fazer…
meu problema esta na 3ª questão.
segue oq ja fiz:
[code]import javax.swing.JOptionPane;
public class vetor
{
private int vetor[] = new int[20];
private int i;
private String valor;
public void main (String args[])
{
inserir();
imprimir();
alterarValor();
anularValores();
}
public void inserir() {
for (int i = 0; i < 20; i++) {
valor = JOptionPane.showInputDialog("Digite os valores");
vetor[i] = Integer.parseInt(valor);
}
}
public void imprimir() {
for (int i = 0; i < 20; i++) {
System.out.println(vetor[i]);
}
}[/code]
o que eu queria: atravez de uma JOptionPane de input determinar qual posição deve ser alterada;
atravez de outra JOptionPane atribuir um valor para a posição escolhida acima.
agradeço desde já pela ajuda
olá…se entendi bem o que você quer ficaria algo assim
Integer indice = Integer.parseInt(JOptionPane.showInputDialog(null, "Qual casa alterar? (de 0 á 19)"));
Integer valor = Integer.parseInt(JOptionPane.showInputDialog(null, "Qual valor?"));
seuArray[indice] = valor;
FLw
Voce vai ter que criar um método nessa classe aí que altere a posição de um valor do array :B
Tipo assim, exibe um optionPane pedindo qual posição é para alterar, depois voce tem que verificar se a posição existe (nesse caso se posicao >= 0 e posicao <20 ) se não existir exibe uma msg falando do erro, se existir exiba outro optionPane pedindo o valor para qual a posição será alterada, e modifique assim:
vetor[posicao] = valor;
A posição é a que voce pegou no começo e o valor é o valor que voce acabou de pegar xD
Update: 23s de diferença do leoviniga o_0
caros leoviniga e drigo.angelo ambos entenderam e me serão de grd ajuda…
vou colocar em pratica suas ideias e logo darei retorno.
[]'s
pessoal, segui as instruções e apliquei as alterações sugeridas.
informo que está tudo funcionando perfeitamente como desejado!
ao final, ficou dessa forma:
[code]import javax.swing.JOptionPane;
public class vetor
{
private int vetor[] = new int[20];
private int i;
private String valor;
private int valor2;
public void main (String args[])
{
inserir();
imprimir();
alterarValor();
anularValores();
}
public void inserir() {
for (int i = 0; i < 20; i++) {
valor = JOptionPane.showInputDialog("Digite os valores do array:");
vetor[i] = Integer.parseInt(valor);
}
}
public void imprimir() {
for (int i = 0; i < 20; i++) {
System.out.println(vetor[i]);
}
}
public void alterarValor() {
int i = Integer.parseInt(JOptionPane.showInputDialog("Qual posição do array será alterada? (de 0 á 19)"));
if (i >= 0 & i < 20) {
int valor2 = Integer.parseInt(JOptionPane.showInputDialog("Qual valor?"));
vetor[i] = valor2;
}
else {
JOptionPane.showMessageDialog(null,"Digite um valor entre 0 e 19","Operação inválida",JOptionPane.ERROR_MESSAGE);
}
}
public void anularValores() {
for (int i = 0; i < 20; i++) {
vetor[i] = 0;
}
}
} [/code]
AGRADEÇO PELA AJUDA!