:?: Preciso saber como verificar uma string e depois converter pra double usando somente comandos do/while for e if
Abaixo segue o código do programa em que estou usando somente JOptionPane, preciso fazer uma soma de vários valores e verificar que o número, por exemplo, 8.888.88 não pode ser convertido, somente pode ser convertido pra double os números que possuirem apenas 1 ponto, por exemplo 8.888
[code]package trabalho1;
import javax.swing.JOptionPane;
public class Trabalho1 {
public static void main(String[] args) {
String num1, numtermos, verString, op, juros;
int contponto=0, fat=3;
boolean continua=true, erro=false;
double ntermos, tercalc,n1,n2, resultado=1, soma=0;
op=JOptionPane.showInputDialog(“Informe a operação a ser realizada \n( + ) para soma \n( - ) para subtração \n( / ) para divisão \n( * ) para multiplicação \n( S ) para seno \n( C ) para coseno \n( J ) para juros compostos \n( E ) para sair”);
if (op.equals("+")){
do {
erro=false;
numtermos = JOptionPane.showInputDialog(
"Quantos números deseja somar?");
for (int i=0; i<numtermos.length(); i++){
if (numtermos.charAt(i)=='.'){
erro=true;
}
if (numtermos.charAt(i) >= '0' && numtermos.charAt(i) <= '9') {
;
}
else
erro = true;
}
if (erro==true){
verString = JOptionPane.showInputDialog(
"Valor digitado incorreto. \nDeseja digitar novamente?(S/N)");
if (verString.equals("s") || verString.equals("S"))
erro = true;
else if (verString.equals("n") || verString.equals("N"))
erro = false;
}
}while (erro == true);
tercalc = Integer.parseInt(numtermos);
do {
continua=true;
erro=false;
num1 = JOptionPane.showInputDialog("Informe o valor " +
(contponto + 1));
for (int i = 0; i < num1.length(); i++) {
if (num1.charAt(i) == '.' && num1.charAt(i+1)=='.') { // verificar ponto ex: 8.888.8(não pode ser convertido
erro=true;
}
if (num1.charAt(i) == '+' || num1.charAt(i) == '-') {
if (i >= 1) {
erro = true;
}
}
if (num1.charAt(i) >= 'a' && num1.charAt(i) <= 'z') {
erro = true;
}
}
if (erro == true) {
verString = JOptionPane.showInputDialog(
"Valor digitado incorreto. \nDeseja digitar novamente?(S/N)");
if (verString.equals("s") || verString.equals("S")){
continua = true;
}
else if (verString.equals("n") || verString.equals("N")){
erro = false;
System.exit(0);
}
}
if (erro==false){
contponto++;
soma=soma + Double.parseDouble(num1);
}
}while (continua==true && contponto<tercalc);
if (contponto == tercalc){
JOptionPane.showMessageDialog(null, " O resultado da soma é: " + soma);
contponto=0;
soma=0;
}
}[/code]
[color=“red”]editado para conter BBcode code por JuJo[/color]