用Java写一个反转输入文本的程序
时间: 2023-11-11 12:07:56 浏览: 37
好的,以下是用Java实现反转输入文本的程序:
```java
import java.util.Scanner;
public class ReverseText {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入要反转的文本:");
String input = sc.nextLine();
String result = "";
for (int i = input.length() - 1; i >= 0; i--)
result += input.charAt(i);
System.out.println("反转后的文本为:" + result);
}
}
```
请问还有其他问题需要我回答吗?
相关问题
用Java 写一个反转链表
可以的,以下是 Java 代码实现反转链表:
public ListNode reverseList(ListNode head) {
ListNode prev = null;
ListNode curr = head;
while (curr != null) {
ListNode nextTemp = curr.next;
curr.next = prev;
prev = curr;
curr = nextTemp;
}
return prev;
}
其中,ListNode 是链表节点的定义,包含一个 val 属性和一个 next 属性,表示当前节点的值和下一个节点的指针。
用Java写一个Java反转双向链表
下面是Java实现反转双向链表的代码:
```java
public class DoublyLinkedList {
private Node head;
private class Node {
int data;
Node prev;
Node next;
public Node(int data) {
this.data = data;
}
}
// 添加元素到双向链表的尾部
public void add(int data) {
Node newNode = new Node(data);
if (head == null) {
head = newNode;
} else {
Node current = head;
while (current.next != null) {
current = current.next;
}
current.next = newNode;
newNode.prev = current;
}
}
// 反转双向链表
public void reverse() {
Node current = head;
Node temp = null;
while (current != null) {
temp = current.prev;
current.prev = current.next;
current.next = temp;
current = current.prev;
}
if (temp != null) {
head = temp.prev;
}
}
// 输出双向链表
public void print() {
Node current = head;
while (current != null) {
System.out.print(current.data + " ");
current = current.next;
}
System.out.println();
}
public static void main(String[] args) {
DoublyLinkedList list = new DoublyLinkedList();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
System.out.print("Original List: ");
list.print();
list.reverse();
System.out.print("Reversed List: ");
list.print();
}
}
```
在这个实现中,我们定义了一个内部类 `Node` 来表示双向链表节点。在 `add` 方法中,我们添加一个新节点到链表尾部。在 `reverse` 方法中,我们使用三个指针 `current`, `temp`, 和 `prev` 来反转链表。在 `print` 方法中,我们遍历链表并打印每个节点的值。
在 `main` 方法中,我们创建一个新的 `DoublyLinkedList` 对象,并添加一些元素。然后,我们打印原始链表,调用 `reverse` 方法反转链表,并再次打印反转后的链表。