Connection conn;
为丰镇等地区用户提供了全套网页设计制作服务,及丰镇网站建设行业解决方案。主营业务为网站设计、网站制作、丰镇网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:taian", "hr", "hr"); //连接Oracle
conn.setAutoCommit(false);
Statement myStat = conn.createStatement();
String sqlTxt = "update BankAccount set account=account-" + this.amount.getText() + " where accId=" + this.payOut.getText();
System.out.println("第一步 执行:" + sqlTxt);
//
try {
int affectedRow = myStat.executeUpdate(sqlTxt);
System.out.println("从汇出方扣减" + this.amount.getText() + "元,修改了" + affectedRow + "行数据.");
sqlTxt = "update BankAccount set account=account+" + this.amount.getText() + " where accId=" + this.saveIn.getText();
System.out.println("第二步 执行:" + sqlTxt);
affectedRow = myStat.executeUpdate(sqlTxt);
System.out.println("从汇入方增加" + this.amount.getText() + "元,修改了" + affectedRow + "行数据.");
// 事务成功结束, 提交
conn点抗 mit();
} catch (SQLException sqlEx) {
System.out.println
sqlEx.printStackTrace();
// 事务中断,整体回滚到事务开始前状态
conn.rollback();
}
myStat.close();
conn.close();
} catch (Exception ex) {
System.out.println("反正是出错了.");
}
}//
你的主函数没有错误,你应该恢复主函数原来的样子public static void main(String[] args){
User user=new User();
user.setId(1001);
user.setName("user");
user.setStuNum("1001");
new TicketBooker(user);
}你的Java程序是在109行JCB_Year.setSelectedIndex(date.getYear()+1900-Integer.parseInt(arrayYear[0]));这句出问题了,因为今年是2018年,date.getYear()+1900=2018,2018-2014=4,JCB_Year.setSelectedIndex(4);而你的private JComboBox JCB_Year=new JComboBox(arrayYear);arrayYear是只定义了三个字符串的数组
private static final String arrayYear[]={"2014","2015","2016"};所以造成JComboBox下标Index越界,本来下标只有0到2你访问到了4.改正办法把arrayYear数组加两个元素,把private static final String arrayYear[]={"2014","2015","2016"};改成private static final String arrayYear[]={"2014","2015","2016","2017","2018"};就没问题了.注意,arrayYear数组 2019年还需要加"2019",2020年还需要加"2020"
包lipei;
进口java.awt.FileDialog中;
进口java.awt.Frame中;
进口java.awt.Menu中;
进口java.awt.MenuBar中;
进口java.awt.MenuItem中;
进口java.awt.event.ActionEvent;
进口java.awt.event.ActionListener;
进口java.awt.event.WindowAdapter ;
进口java.awt.event.WindowEvent中;
进口javax.swing.Icon;
进口javax.swing.ImageIcon中;
进口javax.swing.JLabel中;
公共类BufferTest {
@ SuppressWarnings(“折旧”)
公共静态无效的主要(字串[] args){
/ / TODO代码应用程序的逻辑在这里
最后一帧F =新框架(“打开”);/ /标题
f.setBounds(100,100,400,300);
最后的JLabel LBL =新的JLabel(); BR / f.addWindowListener(新WindowAdapter(){
公共无效windowClosing(WindowEvent E){
System.exit(0);
}
});
的MenuBar MB =新的菜单栏();
菜单M1 =新菜单(“photolist”);
菜单项MI2 =新的MenuItem(“打开”);
最后FileDialog的FD =新文件对话框(F,“照片公开”,是FileDialog.LOAD);
fd.show();
mi2.addActionListener(新的ActionListener(){/ /打开文件夹
公共无效的actionPerformed(ActionEvent的E){
如果{
fd.show()(fd.isShowing()!);
}
字符串文件名= fd.getDirectory()+ fd.getFile();
图标图标=新的ImageIcon(文件名,“”);
lbl.setIcon(图标);
System.out的。的println(fd.getDirectory()+ fd.getFile()); / /显示图片的路径和名称
}
});
m1.add(MI2);
mb.add(M1);
f.setMenuBar(MB);
f.add(LBL);
f。秀();
}
}
Java中可以使用循环结构(如while或for)来实现重复提示用户输入的功能。具体步骤如下:
使用Scanner类来读取用户输入的字符。
使用一个变量来存储用户输入的字符是否正确。
使用循环结构,在循环体中提示用户输入,并判断用户输入的字符是否正确。
如果用户输入的字符不正确,则提示用户重新输入。如果用户输入的字符正确,则退出循环。
在循环体外使用读取的字符。
下面是一个示例代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
boolean isCorrect = false;
char input;
while (!isCorrect) {
System.out.println("Please enter a char:");
input = scanner.next().charAt(0);
if (input == 'A' || input == 'B' || input == 'C') {
isCorrect = true;
} else {
System.out.println("Invalid input, please try again.");
}
}
System.out.println("You have entered: " + input);
}
}
这段代码中,用户只能输入A,B或C这三种字符,如果用户输入其他字符会一直提示重新输入。