任何人都可以帮助我.. 如何获得这样的输出
<小时/>平方数
插入数字以获得正方形的值:2
数字 2 的平方是 4
立方体数量
插入数字以获得正方形的值:3
数字 3 的平方是 27
<小时/>现在我得到这样的输出
<小时/>平方数
插入数字以获得正方形的值:正方形的立方
插入数字以获得立方体的值:2
数字 2 的平方是 4
3
数字 3 的立方是 27
<小时/>这是我的编码
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.logging.Level;
import java.util.logging.Logger;
class Thread_Square extends Thread{
private int sumSquare;
public void Thread_Square(){
BufferedReader square = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Square Number");
System.out.print("Insert Number to get Value of Square: ");
String inputSquare = null;
try {
inputSquare = square.readLine();
} catch (IOException ex) {
Logger.getLogger(Thread_Square.class.getName()).log(Level.SEVERE, null, ex);
}
int numSquare = Integer.parseInt(inputSquare);
sumSquare=numSquare*numSquare;
System.out.println("Square of number " +numSquare +" is " +sumSquare);
}
public void run()
{
Thread_Square();
}
}
class Thread_Cube extends Thread{
public void Thread_Cube(){
int sumCube;
BufferedReader Cube = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Square Cube");
System.out.print("Insert Number to get Value of Cube: ");
String inputCube = null;
try {
inputCube = Cube.readLine();
} catch (IOException ex) {
Logger.getLogger(Thread_Square.class.getName()).log(Level.SEVERE, null, ex);
}
int numCube = Integer.parseInt(inputCube);
sumCube=numCube*numCube*numCube;
System.out.println("Cube of number " +numCube +" is " +sumCube);
}
public void run()
{
Thread_Cube();
}
}
class Thread_Question1 {
public static void main(String[] args) throws IOException {
Thread_Square obj1 = new Thread_Square();
obj1.start();
Thread_Cube obj2 = new Thread_Cube();
obj2.start();
}
}
最佳答案
您有两个同时并行运行的并发线程。对于第一个输出,您需要有一个线程用于该流程,或者强制第二个线程在完成第一个线程后启动。看到这个:
Thread_Square obj1 = new Thread_Square();
obj1.start();
obj1.join();
Thread_Cube obj2 = new Thread_Cube();
obj2.start();
关于java - 如何先完成Thread_Square然后完成Thread_Cube,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21350064/