From: SourceForge.net <no...@so...> - 2007-05-04 00:38:39
|
Bugs item #1712457, was opened at 2007-05-03 17:38 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=438935&aid=1712457&group_id=44253 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Nobody/Anonymous (nobody) Assigned to: Nobody/Anonymous (nobody) Summary: java.lang.ArrayIndexOutOfBoundsException Initial Comment: java.lang.ArrayIndexOutOfBoundsException at java.lang.System.arraycopy(Native Method) at javax.swing.text.CompositeView.replace(Unknown Source) at javax.swing.text.BoxView.replace(Unknown Source) at javax.swing.text.View.updateChildren(Unknown Source) at javax.swing.text.View.insertUpdate(Unknown Source) at javax.swing.plaf.basic.BasicTextUI$RootView.insertUpdate(Unknown Source) at javax.swing.plaf.basic.BasicTextUI$UpdateHandler.insertUpdate(Unknown Source) at javax.swing.text.AbstractDocument.fireInsertUpdate(Unknown Source) at javax.swing.text.AbstractDocument.handleInsertString(Unknown Source) at javax.swing.text.AbstractDocument.insertString(Unknown Source) at edu.rice.cs.util.text.SwingDocument.forceInsertText(SwingDocument.java:138) at edu.rice.cs.util.text.ConsoleDocument.insertBeforeLastPrompt(ConsoleDocument.java:223) at edu.rice.cs.drjava.model.repl.InteractionsModel.interpreterResetting(InteractionsModel.java:540) at edu.rice.cs.drjava.model.repl.newjvm.MainJVM.killInterpreter(MainJVM.java:565) at edu.rice.cs.drjava.model.repl.RMIInteractionsModel._resetInterpreter(RMIInteractionsModel.java:104) at edu.rice.cs.drjava.model.repl.InteractionsModel.resetInterpreter(InteractionsModel.java:204) at edu.rice.cs.drjava.model.DefaultGlobalModel.resetInteractions(DefaultGlobalModel.java:335) at edu.rice.cs.drjava.model.DefaultGlobalModel.resetInteractions(DefaultGlobalModel.java:311) at edu.rice.cs.drjava.model.DefaultGlobalModel$2.compileEnded(DefaultGlobalModel.java:165) at edu.rice.cs.drjava.model.compiler.CompilerEventNotifier.compileEnded(CompilerEventNotifier.java:86) at edu.rice.cs.drjava.model.compiler.DefaultCompilerModel._doCompile(DefaultCompilerModel.java:245) at edu.rice.cs.drjava.model.compiler.DefaultCompilerModel.compileAll(DefaultCompilerModel.java:139) at edu.rice.cs.drjava.ui.MainFrame._compileAll(MainFrame.java:4209) at edu.rice.cs.drjava.ui.MainFrame.access$4100(MainFrame.java:106) at edu.rice.cs.drjava.ui.MainFrame$44.actionPerformed(MainFrame.java:680) at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.setPressed(Unknown Source) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source) at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) System Properties: DrJava Version 20070130-2255 java.runtime.name = Java(TM) SE Runtime Environment sun.boot.library.path = C:\Program Files\Java\jre1.6.0\bin java.vm.version = 1.6.0-b105 java.vm.vendor = Sun Microsystems Inc. java.vendor.url = http://java.sun.com/ path.separator = ; java.vm.name = Java HotSpot(TM) Client VM file.encoding.pkg = sun.io sun.java.launcher = SUN_STANDARD user.country = KR sun.os.patch.level = Service Pack 2 java.vm.specification.name = Java Virtual Machine Specification user.dir = <anonymized user.home>\바탕 화면 java.runtime.version = 1.6.0-b105 java.awt.graphicsenv = sun.awt.Win32GraphicsEnvironment java.endorsed.dirs = C:\Program Files\Java\jre1.6.0\lib\endorsed os.arch = x86 java.io.tmpdir = C:\DOCUME~1\<anonymized user.name>\LOCALS~1\Temp\ line.separator = "\u000d\u000a" java.vm.specification.vendor = Sun Microsystems Inc. user.variant = os.name = Windows XP sun.jnu.encoding = MS949 java.library.path = C:\Program Files\Java\jre1.6.0\bin;.;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\Program Files\Internet Explorer;;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\ATI Technologies\ATI Control Panel;C:\Program Files\ESTsoft\ALZip\;C:\APM_Setup\Server\Apache\bin;C:\APM_Setup\Server\MySQL\bin;C:\APM_Setup\Server\PHP4\dlls;C:\APM_Setup\Server\PHP4;C:\Program Files\ESTsoft\ALZip;c:\Program Files\Java\jdk1.6.0\bin;C:\Program Files\ESTsoft\ALZip\ java.specification.name = Java Platform API Specification java.class.version = 50.0 sun.management.compiler = HotSpot Client Compiler os.version = 5.1 user.home = <anonymized user.home> user.timezone = Asia/Seoul java.awt.printerjob = sun.awt.windows.WPrinterJob file.encoding = MS949 java.specification.version = 1.6 java.class.path = <anonymized user.home>\바탕 화면\drjava-stable-20070130-2255.exe;C:\Program Files\Java\jdk1.6.0\lib\tools.jar user.name = <anonymized user.name> java.vm.specification.version = 1.0 java.home = C:\Program Files\Java\jre1.6.0 sun.arch.data.model = 32 user.language = ko java.specification.vendor = Sun Microsystems Inc. awt.toolkit = sun.awt.windows.WToolkit java.vm.info = mixed mode, sharing java.version = 1.6.0 java.ext.dirs = C:\Program Files\Java\jre1.6.0\lib\ext;C:\WINDOWS\Sun\Java\lib\ext sun.boot.class.path = C:\Program Files\Java\jre1.6.0\lib\resources.jar;C:\Program Files\Java\jre1.6.0\lib\rt.jar;C:\Program Files\Java\jre1.6.0\lib\sunrsasign.jar;C:\Program Files\Java\jre1.6.0\lib\jsse.jar;C:\Program Files\Java\jre1.6.0\lib\jce.jar;C:\Program Files\Java\jre1.6.0\lib\charsets.jar;C:\Program Files\Java\jre1.6.0\classes java.vendor = Sun Microsystems Inc. file.separator = \ java.vendor.url.bug = http://java.sun.com/cgi-bin/bugreport.cgi sun.io.unicode.encoding = UnicodeLittle sun.cpu.endian = little java.rmi.server.hostname = 127.0.0.1 sun.desktop = windows sun.awt.exception.handler = edu.rice.cs.drjava.ui.DrJavaErrorHandler sun.cpu.isalist = pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86 #DrJava configuration file #Fri May 04 09:36:21 KST 2007 javac.location = C:\\Program Files\\Java\\jdk1.6.0\\lib\\tools.jar lineenum.enabled = true key.delete.next = shift DELETE key.delete.previous = shift BACK_SPACE find.replace.all.documents = true quit.prompt = false interactions.reset.prompt = false save.before.compile = true recent.files = [C:\\JAVA\\TicTacToe.java,C:\\JAVA\\TicTacToe(continue).java,C:\\JAVA\\breakTest3.java,C:\\JAVA\\first-166-disc84.java,C:\\JAVA\\Java06_1.java] window.height = 776 window.width = 1276 window.x = 4 window.y = 0 last.dir = C:\\JAVA\\TicTacToe.java last.interactions.dir = C:\\JAVA Used memory: about 13.35 megabytes Free memory: about 8.81 megabytes Total memory: about 22.16 megabytes Total memory can expand to: about 127.06 megabytes ---------------------------------------------------- this is message from drjava. and the following is source code ---------------------------------------------------- import java.util.Scanner; public class TicTacToe { int count= 0; int cnt = 0; char win; char[][] board = new char[3][3]; public TicTacToe() { for (int i=0; i<3; i++) for (int j=0; j<3; j++) board[i][j] = (char)(i*3 + j); } public void winner(char w) { if(w != 'd') System.out.println(+ count + "번만에 " + w + " 승리!"); else if(w == 'd') System.out.println(+ count + "번만에 무승부!"); } public boolean TorF() { if(isDone() == false) { return true; } else if(isDone() == true) { Scanner sss = new Scanner(System.in); int confirm; winner(win); System.out.println("다시 시작하시겠습니까?(1:yes, 2:no) : "); confirm = sss.nextInt(); if(confirm == 1) { for (int i=0; i<3; i++) { for (int j=0; j<3; j++) board[i][j] = (char)(i*3 + j); } cnt = 0; return true; } else if(confirm == 2) { return false; } } return false; } public boolean isRange(int row, int col) { return (0 <= row && row < 3) && (0 <= col && col < 3); } public boolean isBlank(int row, int col) { return (board[row][col] != 'O' && board[row][col] != 'X'); } public boolean isFull() { for (int i=0; i<3; i++) for (int j=0; j<3; j++) if (isBlank(i, j)) return false; return true; } public boolean markBoard(int id) { Scanner scan = new Scanner(System.in); int i = scan.nextInt(); int j = scan.nextInt(); if (id == 0 && isRange(i,j) && isBlank(i,j)) { board[i][j] = 'O'; return true; } else if(id == 1 && isRange(i,j) && isBlank(i,j)) { board[i][j] = 'X'; return true; } return false; } public void printBoard() { count = ++cnt; System.out.println("< #" + count + " >" ); for(int i = 0; i<3; i++) { for(int j = 0; j<3; j++) { if(isBlank(i,j)) System.out.print("_ "); else System.out.print(board[i][j] + " "); } System.out.print("\n"); } } public boolean isDone() { for(int i=0; i<3; i++) { if(board[0][i] == board[1][i] && board[2][i]== board[0][i]) { win = board[0][i]; return true; } else if(board[i][0] == board [i][1] && board[i][2] == board[i][0]) { win = board[i][0]; return true; } else if(board[0][0] == board [1][1] && board[2][2] == board[0][0]) { win = board[0][0]; return true; } else if(board[0][2] == board[1][1] && board [2][0] == board[0][2]) { win = board[0][2]; return true; } } if(isFull()) { win = 'd'; return true; } return false; } public static void main(String args[]) { TicTacToe ttt = new TicTacToe(); do { do { System.out.print("O: "); } while (!ttt.markBoard(0)); ttt.printBoard(); if (!ttt.TorF()) break; do { System.out.print("X: "); } while (!ttt.markBoard(1)); ttt.printBoard(); } while (ttt.TorF()); } } --------------------------------------------------- I can't find problem... ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=438935&aid=1712457&group_id=44253 |