javaの学習にとシリアルコードを入力することで残高を追加し、それでくじを引けるようなguiアプリケーションを作成しようと考えております。そこでシリアルコードを入力しボタンをクリックすることでラベルにその金額が表示される機能を実装しました。しかしいつも表示されるのは「0」です。バグの原因がわかりません。
シリアルコードの形式は以下の通りです。
1文字目
g,d,x,v,pのいずれか
2~11文字目
数コード
数コード{
f,a,p,=1
z,g,i,=2
c,b,m,=3
v,j,o=4
d,x,s=5
e,k,r=6
u,t,h=7
q,y=8
l,w=9
n=0
}
複数あるのは生成の際に乱数を用いてシリアルコードの解析を難しくするためです。
下記にソースコードを貼り付けます。
package kujikuji; import java.awt.*; /** * * @author raich */ public class kujikuji extends javax.swing.JFrame { private static final kujikuji meframe = new kujikuji(); /** * Creates new form kujikuji */ public kujikuji() { initComponents(); } /** * This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() { jButton1 = new javax.swing.JButton(); jScrollPane2 = new javax.swing.JScrollPane(); jTextPane2 = new javax.swing.JTextPane(); jLabel1 = new javax.swing.JLabel(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); jButton1.setFont(new java.awt.Font("メイリオ", 1, 12)); // NOI18N jButton1.setText("とうろく"); jButton1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton1ActionPerformed(evt); } }); jScrollPane2.setViewportView(jTextPane2); jLabel1.setText("jLabel1"); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(28, 28, 28) .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 316, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jButton1)) .addGroup(layout.createSequentialGroup() .addGap(190, 190, 190) .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 59, javax.swing.GroupLayout.PREFERRED_SIZE))) .addContainerGap(281, Short.MAX_VALUE)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(22, 22, 22) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(jButton1, javax.swing.GroupLayout.DEFAULT_SIZE, 30, Short.MAX_VALUE) .addComponent(jScrollPane2)) .addGap(71, 71, 71) .addComponent(jLabel1) .addContainerGap(422, Short.MAX_VALUE)) ); pack(); }// </editor-fold> private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { String silialnumn = jTextPane2.getText(); silialnumber(silialnumn); } public void silialnumber(String silialnum){ char[] silnumasone = new char[15]; int[] cord = new int[15]; int lenghtsilial = 11; boolean hanpa ; int fainalmoney; for(int j = 0;j==lenghtsilial;j++){ silnumasone[j] = silialnum.charAt(j); } if (silnumasone[0] == 'a'|| silnumasone[0] == 's'||silnumasone[0] =='v'||silnumasone[0] =='w'||silnumasone[0]=='x'){ hanpa = false; }else if (silnumasone[0] == 'g'||silnumasone[0] == 'd'||silnumasone[0] == 'x'||silnumasone[0] == 'v'||silnumasone[0] == 'p'){ hanpa = true; } if (hanpa = true){ cord[1]= numcord(silnumasone[1])*1000000000; cord[2]= numcord(silnumasone[2])*100000000; cord[3]= numcord(silnumasone[3])*10000000; cord[4]= numcord(silnumasone[4])*1000000; cord[5]= numcord(silnumasone[5])*100000; cord[6]= numcord(silnumasone[6])*10000; cord[7]= numcord(silnumasone[7])*1000; cord[8]= numcord(silnumasone[8])*100; cord[9]= numcord(silnumasone[9])*10; cord[10]= numcord(silnumasone[10]); fainalmoney = cord[1]+cord[2]+cord[3]+cord[4]+cord[5]+cord[6]+cord[7]+cord[8]+cord[9]+cord[10]; String kingaku = String.valueOf(fainalmoney); jLabel1.setText(kingaku); } } public int numcord(char hoge){ int returnnum = 0 ; switch (hoge) { case 'f': case 'a': case 'p': returnnum =1; break; case 'z': case 'g': case 'i': returnnum =2; break; case 'c': case 'b': case 'm': returnnum =3; break; case 'v': case 'j': case 'o': returnnum =4; break; case 'd': case 'x': case 's': returnnum =5; break; case 'e': case 'k': case 'r': returnnum =6; break; case 'u': case 't': case 'h': returnnum =7; break; case 'q': case 'y': returnnum =8; break; case 'l': case 'w': returnnum =9; break; case 'n': returnnum =0; break; default: break; } return returnnum; } /** * @param args the command line arguments */ public static void main(String args[]) { /* Set the Nimbus look and feel */ //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) "> /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. * For details see */ try { for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { if ("Nimbus".equals(info.getName())) { javax.swing.UIManager.setLookAndFeel(info.getClassName()); break; } } } catch (ClassNotFoundException ex) { java.util.logging.Logger.getLogger(kujikuji.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (InstantiationException ex) { java.util.logging.Logger.getLogger(kujikuji.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (IllegalAccessException ex) { java.util.logging.Logger.getLogger(kujikuji.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (javax.swing.UnsupportedLookAndFeelException ex) { java.util.logging.Logger.getLogger(kujikuji.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } //</editor-fold> /* Create and display the form */ java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new kujikuji().setVisible(true); GraphicsDevice device = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice(); device.setFullScreenWindow(meframe); } }); } // Variables declaration - do not modify private javax.swing.JButton jButton1; private javax.swing.JLabel jLabel1; private javax.swing.JScrollPane jScrollPane2; private javax.swing.JTextPane jTextPane2; // End of variables declaration }
わかりにくい説明でごめんなさい。
また下記urlにnetbeansのプロジェクトフォルダを圧縮したものをupしました。
http://fast-uploader.com/file/7014122909722/(パスワード:0000)
このような初心者は場違いかもしれませんがどうか皆様の豊富な知恵を貸してください。よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー