başarısız olursa bir 'tarih' doğrulamak burada Java - koşulu
Ben bir Java istemci var .. Biliyorum bu soru ben gitmek burada ama ne kadar temel tahmin edebilirsiniz yazma gibi bir program akışının başlangıcına geri dön Kullanıcı tarafından girilen girdi ve geçerliyse başka yerlerde de iletir. Giriş iletişim kutusunu göstermek için JOptionPane kullanıyorum.Temelde kullanıcı tarafından geçersiz bir tarih biçimi girildiğinde programım çıkar ve kullanıcının programı yeniden başlatması gerekir. Bunun yerine Pop-up InputDialog kutu yine bu kod satırı geçiş kontrolü için en iyi yol olacağını nasıl bir mesaj görüntülenir "Girilen 'Geçersiz Tarih. Sonra gösterilmesini istedi?
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.net.Socket;
import java.util.Properties;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import javax.swing.JOptionPane;
public class Client {
static SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
public static void main(String[] args) throws IOException, ParseException {
Properties prop = new Properties();
InputStream IP = null;
// SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
try {
IP = new FileInputStream("Client.properties");
prop.load(IP);
String host = prop.getProperty("ServerIP");
String port = prop.getProperty("Port");
int port1 = Integer.parseInt(port);
Socket s = new Socket(host, port1);
String reportDate = JOptionPane.showInputDialog("Enter Date:");
PrintWriter out = new PrintWriter(s.getOutputStream(), true);
/**
* User Input Validation
*/
if (reportDate.matches("^((19|20)\\d\\d)-(0?[1-9]|1[012])-(0?[1-9]|[12][0-9]|3[01])$")) {
out.println(reportDate);
s.close();
System.exit(0);
} //if
else {
String Error = "INCORRECT date format entered!";
JOptionPane.showMessageDialog(null, Error);
} //else
} catch (IOException ex) {
ex.printStackTrace();
} finally {
if (IP != null) {
try {
IP.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
doğrudan ilişkili, ancak deneyin kullanmayın Değil giriş ve soketinizi oluşturmak için kaynaklar. “Sonunda” kalıbını (ve şu anda soketi kapatmayacağınız durumlarda) kaldırır. –
Çıkış koşulunun doğru biçimlendirilmiş bir Tarih olduğu bir döngü oluşturun. – marcellorvalle
Do-while döngülerinin nasıl kullanıldığını biliyor musunuz? Bunu açıklamak için en iyi ben değilim, ama kesinlikle senin problemini çözeceklerdi. –