[英]Run a program using inheritance with NetBeans because NetBeans output doesn't “work” as it should
是的,標題不是很有描述性,但那是因為我不知道如何稱呼這個問題。
問題是下一個:我使用 inheritance 和一個步驟列表,例如總和:
但是 output 做到了:
現在這是JavaClassPrueba1A的代碼代碼:
package package1;
import java.util.Scanner;
public class JavaClass1A {
protected int value1, value2, result;
Scanner dataEntry = new Scanner(System.in);
//Este método pide los valores al usuario
public void RequestData(){
System.out.print("Give me the first value: ");
value1 = dataEntry.nextInt();
System.out.print("Give me the second value: ");
value2 = dataEntry.nextInt();
}
//Este método muestra el resultado
public void ShowResult(){
System.out.println(result);
}
}
JavaClassPrueba2A的代碼:
package package1;
public class JavaClass2A extends JavaClass1A{
public void Sum(){
result = value1 + value2;
}
}
JavaClassPrueba3A的代碼:
package package1;
public class JavaClass3A extends JavaClass1A{
public void Subtraction(){
result = value1 - value2;
}
}
MainClass1A 的代碼(這是運行所有的 class):
package MetodoMain;
import package1.JavaClass2A;
import package1.JavaClass3A;
public class MainClass1A {
public static void main(String[] args){
JavaClass2A messageSum = new JavaClass2A();
messageSum.RequestData();
messageSum.Sum();
System.out.print("The resultado of the sum is: ");
messageSum.ShowResult();
JavaClass3A messageSubtraction = new JavaClass3A();
messageSubtraction.RequestData();
messageSubtraction.Subtraction();
System.out.print("The resultado of the Subtraction is: ");
messageSubtraction.ShowResult();
}
}
這是所有運行的副本。 這里的問題是顯示/運行順序的問題(因此不存在錯誤消息[是的,我非常多余])
cd C:\Users\Usuario\Documents\NetBeansProjects\JavaClassPrueba2; "JAVA_HOME=C:\Program Files\Java\jdk1.8.0_151" cmd /c ""C:\Program Files\NetBeans-12.1\netbeans\java\maven\bin\mvn.cmd" -Dexec.args="-類路徑 %classpath MetodoMain.MainClass1A" -Dexec.executable="C:\Program Files\Java\jdk1.8.0_151\bin\java.exe" -Dexec.classpathScope=runtime -Dmaven.ext.class.path="C: \Program Files\NetBeans-12.1\netbeans\java\maven-nblib\netbeans-eventspy.jar" -Dfile.encoding=UTF-8 org.codehaus.mojo:exec-maven-plugin:1.5.0:exec" 運行 NetBeans保存執行時編譯。 跳過階段執行,將使用依賴項目的 output 目錄(打開保存時編譯)而不是它們的 jar 工件。
正在掃描項目...
------------< DOS:JavaClassPrueba2 >--------- ---
構建 JavaClassPrueba2 1.0.0-SNAPSHOT
--------------------------------[ jar ]------------- ------------------
--- exec-maven-plugin:1.5.0:exec (default-cli) @ JavaClassPrueba2 ---
5這是我像其他 3 一樣輸入的數字
10
給我第一個值:給我第二個值:總和的結果是:15
90
100
給我第一個值:給我第二個值:減法的結果是:-10
建立成功
總時間:01:05 分鍾完成時間:2021-01-20T16:00:24-03:00
這是 NetBeans 上的 maven 的錯誤。 嘗試改變
System.out.print()
至
System.out.println()
在方法RequestData()
It looks to me as if NetBeans is buffering the output, and may be waiting for an end-of-line character before it writes the output it has collected so far to the Output window. 您正在使用System.out.print
,這不會在寫入文本后寫出行尾字符。
嘗試添加行
System.out.flush();
在JavaClass1A.RequestData()
中兩次調用System.out.print()
之后。 By calling flush()
, this might force the NetBeans Output window to display the output it has received so far without waiting for an end-of-line character.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.