编写程序,循环接收用户从键盘输入多个字符串,直到输入“end”时循环结束,并将所有已输入的字符串按字典顺序倒序打印。

本文介绍了一个程序,用于接收用户从键盘输入的多个字符串,直到输入'end'为止,然后将所有输入的字符串按字典顺序倒序打印。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

编写程序,循环接收用户从键盘输入多个字符串,直到输入“end”时循环结束,并将所有已输入的字符串按字典顺序倒序打印。

package yang.base;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Iterator;
import java.util.Scanner;

/**
 *编写程序,循环接收用户从键盘输入多个字符串,
 *直到输入“end”时循环结束,并将所有已输入的字符串按字典顺序倒序打印。
 *分析:
 *	键盘录入数据
 *	使用while进行循环,如果输入为end结束循环
 *	否则把输入的这个字符串转换成字符数组
 *	把字符数组进行字典排序
 *	使用for对这个数组进行倒序输出
 *	
 */
public class Test41 {
public static void main(String[] args) {
//	键盘录入数据
	Scanner s = new Scanner(System.in);
//	、使用while进行循环,如果输入为end结束循环
	while(true){
		String str = s.nextLine();
		if(str.equals("end")){
			break;
		}else{
//			否则把输入的这个字符串转换成字符数组
			char[] ch = str.toCharArray();
//			把字符数组进行字典排序
			Arrays.sort(ch);
//			使用for对这个数组进行倒序输出
			for(int x=0;x<ch.length-1;x++){
				System.out.print(ch[ch.length-1-x]);
			}
		}
	}
}
}

 

 

 

 

 

在LC-3汇编语言中,编写一个键盘输入显示字符的程序需要以下几个步骤: 1. 设置环境:首先,你需要设置一个循环来不断读取用户输入,这通常通过`READ`指令配合键盘中断(例如INT 1)来实现。你需要一个无限循环,以便等待用户按下任意键。 ```assembly LOOP_START: TRAP INT 1 ; 用于接收键盘输入 ``` 2. 接收字符:在接到键盘中断后,会返回一个ASCII码对应的值。你可以将其存储到某个内存地址,比如寄存器R0或者堆栈中,因为LC-3可能没有直接的字符串处理机制。 ```assembly MOV R1, #BUFFER_ADDRESS ; BUFFER_ADDRESS 是你分配给字符数组的地址 ADD R1, R1, #1 ; 指向下一个位置 STM R0, [R1] ; 将接收到的字符存入缓冲区 ``` 3. 显示字符:然后,如果系统支持,你可以将缓冲区的内容输出到显示器。假设有一个简单的显示函数`DISPLAY_CHAR`。 ```assembly LR R14, #DISPLAY_CHAR_ADDR ; DISPLAY_CHAR_ADDR是显示字符操作的地址 MOV R1, #BUFFER_ADDRESS ; 再次发送缓冲区地址给显示函数 BLX R14 ; 调用显示函数 ``` 4. 循环等待:在完成上述操作后,回到循环开始,继续监听新的输入。 ```assembly B LOOP_START ; 如果有更多输入,回到循环顶部 ``` 5. 结束条件:当用户按下回车键(ASCII码通常为13),可以在接收阶段检查这个特殊值,然后跳出循环。 ```assembly CMP R0, #13 ; 检查是否是回车键 BEQ END_LOOP ; 如果是,退出循环 END_LOOP: ... ; 清理结束程序 ``` 请注意,由于LC-3的具体细节可能会有所不同,上述代码只是一个基本框架,实际编写需要参考具体的LC-3体系结构文档。另外,显示部分可能需要额外的硬件支持,如果没有现成的显示功能,那么可能需要模拟输出。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值