質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.23%

Eclipseがエラーメッセージを出して解消できない。

受付中

回答 0

投稿

  • 評価
  • クリップ 0
  • VIEW 193

onoko

score 2

前提・実現したいこと

Eclipseを使用しjavaで事務演算プログラムを作っています。
プログラムは仕様通り動くのですが、実行を押すと、以下のEclipseからのエラーメッセージが出て解消できません。
Eclipseの操作に詳しい方、エラーメッセージの消し方を教えてください。参考までに、javaの事務演算プログラムのほうも載せます。

発生している問題・エラーメッセージ

Java デバッグ・オプションの初期化" 中に内部エラーが発生しました。
org/eclipse/jdt/internal/debug/core/breakpoints/JavaExceptionBreakpoint$1

該当のソースコード

import java.awt.Font;  
import java.awt.Graphics;  
import java.awt.Graphics2D;  
import java.awt.print.PageFormat;  
import java.awt.print.Printable;  
import java.awt.print.PrinterException;  
import java.awt.print.PrinterJob;  
import java.sql.Connection;  
import java.sql.DriverManager;  
import java.sql.PreparedStatement;  
import java.sql.ResultSet;  
import java.sql.ResultSetMetaData;  
import java.sql.SQLException;  



public class DataPrintable implements Printable{  
public static class Klass{  
public static String[]branch;  
public static String[]itemNo;  
public static String[]item;  
public static int[][]qty;  
}  

public void DataGet() {  
Connection con = null;  
try {  
con = DriverManager.getConnection("jdbc:h2:tcp://localhost/~/mydb","sa","");  

PreparedStatement pstmt = con.prepareStatement("SELECT * FROM ITEMS");  
ResultSet rs2 = pstmt.executeQuery();  
int rowCount=0;  
while(rs2.next()) {rowCount +=1;}  
System.out.println(rowCount);  
ResultSet rs = pstmt.executeQuery();  

ResultSetMetaData meta = rs.getMetaData();  
int i=0;  
int columnIndex=0;  
int columnCount = meta.getColumnCount()+1;  
System.out.println("columnCount="+ columnCount);  

Klass.branch = new String[columnCount-1];  
Klass.itemNo = new String[rowCount];  
Klass.item = new String[rowCount];  
Klass.qty = new int[rowCount][columnCount];  


for(int k= 3;k<columnCount;k++) {Klass.branch[k-3]=meta.getColumnName(k);}  
System.out.println("branch[0]="+Klass.branch[0]);  
while(rs.next()) {  
Klass.itemNo[i] = rs.getString(1);  
Klass.item[i] = rs.getString(2);  
for (columnIndex=3;columnIndex<columnCount;columnIndex++){  
Klass.qty[i][columnIndex-3] = rs.getInt(columnIndex);  
}  
i +=1;  
}  
}  
catch(SQLException e) {e.printStackTrace();  
}  
}  

@Override  
public int print(Graphics g,PageFormat pf,int pageIndex) {   
if (pageIndex > 2) return NO_SUCH_PAGE;  
Graphics2D g2= (Graphics2D)g;  
int j = 0;  
int l = 0;  
int c2 =0;  
String itemNow;  
String itemw;  
String qtyw;  
float mmpt = 72/25.4f;  
System.out.println(pageIndex);  


g2.setFont(new Font(SANS_SERIF,PLAIN,20));  
g2.drawString(Klass.branch[pageIndex]+" 向け 配送商品",35*mmpt,40*mmpt);  
g2.setFont(new Font(SANS_SERIF,PLAIN,10));  
System.out.println("qty[0].length="+Klass.qty[0].length);  
System.out.println("item.length="+Klass.item.length);  


for (j=0;j<Klass.qty.length; j++) {  
if(l==26) {c2=75;}  
if(l==0 || l==26) {l=0;g2.drawString("品番 商品名        個数",(35+c2)*mmpt,56*mmpt);}  
if(Klass.qty[j][pageIndex] > 0) {  
itemNow = Klass.itemNo[j];  
itemw = Klass.item[j];  
qtyw =String.valueOf(Klass.qty[j][pageIndex]);  
g2.drawString("□ "+itemNow,(30+c2)*mmpt,(64+8*l)*mmpt);  
g2.drawString(itemw, (45+c2)*mmpt, (64+8*l)*mmpt);  
g2.drawString(qtyw, (87+c2)*mmpt, (64+8*l)*mmpt);  
l +=1;  
}  
}  


return PAGE_EXISTS;  
}  


public static void main(String[]args) {  

try {  
Class.forName("org.h2.Driver");}  
catch(ClassNotFoundException e1) {  
e1.printStackTrace();}  
Connection con = null;  
try {  
DataPrintable dp = new DataPrintable();  
dp.DataGet();      

PrinterJob pj = PrinterJob.getPrinterJob();  
pj.setPrintable(new DataPrintable());  
if (pj.printDialog()) {  
try{pj.print();}  
catch(PrinterException e) {System.out.println(e);}}      
}  
finally {  
if(con != null) {  
try {  
con.close();  
}catch(SQLException e) {  
e.printStackTrace();  
}  
}  

}  
}  

}コード  

ソースコード ```

試したこと

Eclipseの教本のデバッグの部分付近を読んだが不明。

補足情報(FW/ツールのバージョンなど)

エディター:Eclipse、 OS: Windows10

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正の依頼

  • m.ts10806

    2021/01/22 16:12

    デバッグ実行でなかったらどうなりますか?
    あと張ったブレイクポイント全部解除するとか

    キャンセル

  • onoko

    2021/01/22 17:53

    おかげさまで解消しました。ありがとうございました。

    キャンセル

まだ回答がついていません

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.23%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る