写一个JAVA启动类作为主线程,并在启动类中创建并运行一个新的线程。B,在该新线程中从键盘读入一行字符串
写一个JAVA启动类作为主线程,并在启动类中创建并运行一个新的线程。B,在该新线程中从键盘读入一行字符串。C,当读入字符串为"EXIT"时退出线程。D,否则将该值传送给主...
写一个JAVA启动类作为主线程,并在启动类中创建并运行一个新的线程。B,在该新线程中从键盘读入一行字符串。C,当读入字符串为"EXIT"时退出线程。D,否则将该值传送给主线程,由主线程将字符串打印出来,循环B,C,D的步骤直至程序退出。
展开
3个回答
展开全部
主线程
public class TestthreadA extends Thread{
public static void main(String[] args) {
new TestthreadA().start();
}
public void run(){
TestthreadB tb = new TestthreadB();
tb.start();
boolean flag = true;
while(flag){
if(!tb.isAlive()){
System.out.println("线程B已结束,正在退出线程A");
flag = false;
interrupt();
}
}
}
}
副线程
public class TestthreadB extends Thread{
public boolean f = true;
public void TestthreadB(){
}
@Override
public void run() {
// TODO Auto-generated method stub
String st=null;
boolean flag = true;
while(flag){
Scanner sc=new Scanner(System.in);
st=sc.next();
if("exit".equals(st.toLowerCase())){
flag = false;
System.out.println("正在退出线程B");
interrupt();
}else{
System.out.println("您输入的是:"+st);
}
}
}
}
public class TestthreadA extends Thread{
public static void main(String[] args) {
new TestthreadA().start();
}
public void run(){
TestthreadB tb = new TestthreadB();
tb.start();
boolean flag = true;
while(flag){
if(!tb.isAlive()){
System.out.println("线程B已结束,正在退出线程A");
flag = false;
interrupt();
}
}
}
}
副线程
public class TestthreadB extends Thread{
public boolean f = true;
public void TestthreadB(){
}
@Override
public void run() {
// TODO Auto-generated method stub
String st=null;
boolean flag = true;
while(flag){
Scanner sc=new Scanner(System.in);
st=sc.next();
if("exit".equals(st.toLowerCase())){
flag = false;
System.out.println("正在退出线程B");
interrupt();
}else{
System.out.println("您输入的是:"+st);
}
}
}
}
展开全部
兄弟也不会,只能写到这里,等待高烧:
public class A {
public static void main(String[] args){
C c=new C();
B b=new B();
Thread t=new Thread(b);
t.start();
}
}
class B implements Runnable{
public void B(){
}
@Override
public void run() {
String st=null;
while(true){
Scanner sc=new Scanner(System.in);
st=sc.next();
System.out.println(st);
}
}
}
public class A {
public static void main(String[] args){
C c=new C();
B b=new B();
Thread t=new Thread(b);
t.start();
}
}
class B implements Runnable{
public void B(){
}
@Override
public void run() {
String st=null;
while(true){
Scanner sc=new Scanner(System.in);
st=sc.next();
System.out.println(st);
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一个Scanner接收字符串 然后判断isIgnorCase("exit") 如果是就调用system.exit(0)不是就不进IF语句 直接输出即可
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询