描述:给我一个字符串,例如I love java,输出: java love I
方法一
- public class StringReverse {
- public void swap(char[] arr, int begin, int end) {
- while(begin < end) {
- char temp = arr[begin];
- arr[begin] = arr[end];
- arr[end] = temp;
- begin++;
- end--;
- }
- }
- //I love java
- public String swapWords(String str) {
- char[] arr = str.toCharArray();
- swap(arr, 0, arr.length - 1);
- int begin = 0;
- for (int i = 1; i < arr.length; i++) {
- if (arr[i] == ' ') {
- swap(arr, begin, i - 1);
- begin = i + 1;
- }
- }
- return new String(arr);
- }
- public static void main(String[] args) {
- String str = "I love java";
- System.out.println(new StringReverse().swapWords(str));
- }
- }
方法二:(利用jdk提供的方法)
- public class Main {
- public static void main(String[] args) {
- Scanner sc = new Scanner(System.in);
- String str = sc.nextLine();
- String[] sArr = str.split(" ");//I love java
- List<String> list = new ArrayList<String>();
- list = Arrays.asList(sArr);
- // for(int i=0;i<sArr.length;i++){
- // list.add(sArr[i]);
- // }
- Collections.reverse(list);
- for(String word:list){
- System.out.print(word+" ");
- }
- }
- }
另外,如果描述改一下,输入一个字符串,例如“abcd”,输出"dcba",
当然了方法很多,这里我提供一个jdk自带的方法,比较简单
- public static String reverse(String str){
- return new StringBuilder(str).reverse().toString();
- }
- @Test
- public void test09() {
- String str = "hello";
- for (int i = str.length() - 1; i >= 0; i--) {
- char c = str.charAt(i);
- System.out.print(c);
- }
- }
相关推荐
黑马程序员_毕向东_Java基础视频教程第18天-14-IO流(拷贝文本文件图例).zip
"黑马旅游网项目_java_web_基础" 这个标题表明这是一个关于Java Web开发的项目,特别强调了基础部分。这意味着它可能是针对初学者或中级开发者的一个教学项目,旨在帮助他们掌握Java Web开发的基础知识。在这个项目...
总结来说,"黑马程序员_毕向东_Java基础源码.rar"为初学者提供了一个深入学习Java编程的宝贵平台。通过学习和实践这些源代码,不仅可以巩固Java基础知识,还能培养良好的编程习惯和思维模式,为成为专业Java开发者...
Java 8是Java语言发展的一个重要里程碑,引入了许多创新性的特性和改进,极大地提升了开发效率和代码质量。本文将深入探讨Java 8的三大关键新特性:接口的默认方法实现、Lambda表达式以及一系列相关的变化。 一、...
暗示这门课程可能包含一系列视频教程,首个文件"01_黑马程序员_张孝祥_Java基础加强_课程价值与目标介绍.avi"很可能是课程的开篇,详细阐述了课程的价值、目标以及教学计划,帮助学员了解学习路径和预期收获。...
黑马程序员_张孝祥_Java多线程与并发库,老师讲的非常仔细,老师很有耐心.欢迎大家下载学习.
【Java基础辅导班教程...总之,"黑马程序员_Java基础辅导班教程课件[第01期]第13天"是一个全面覆盖Java基础的教程,结合课堂内容、视频、源码和图解,为学员提供了丰富的学习资源,助力他们稳步迈进Java开发的世界。
《黑马程序员_Java基础辅导班教程课件[第01期]第15天》是针对初学者设计的一堂深入浅出的Java编程课程,旨在帮助学员巩固和深化Java基础知识。这堂课件涵盖的内容广泛且实用,对于想要在IT行业中开启Java开发旅程的...
一个标准的Java应用程序至少有一个线程,即主(main)线程。通过创建多个线程,可以实现并发执行,提高程序的运行效率。 2. **创建线程的方式**: - 继承`Thread`类:创建一个新类继承自`Thread`类,并重写`run()`...
黑马程序员毕向东java基础视频教程全套
在"黑马程序员_Java基础辅导班教程课件[第01期]第5天"中,我们主要聚焦于Java编程语言的基础知识。这是一份专为初学者设计的教学资源,旨在帮助学员扎实地掌握Java编程的基本概念和技能。第5天的课程可能涵盖了变量...
总的来说,黑马程序员的Java基础辅导班教程旨在通过第14天的课程,使学员对Java语言有更深入的理解,掌握核心概念和技术,为进一步的Java学习打下坚实的基础。通过不断的实践和练习,学员将能够运用所学知识解决实际...
Java GUI(图形用户界面)是Java编程中的一个重要领域,它允许开发者创建交互式的应用程序,让用户通过视觉元素与程序进行互动。在本视频教程“黑马程序员_毕向东_Java基础视频教程第22天-06-GUI(Action事件)”中,...
"黑马程序员_Java基础辅导班教程课件[第01期]第11天"是一个专门为初学者设计的培训课程,旨在帮助学员深入理解和掌握Java的核心概念。这个课程可能是通过视频形式进行的,结合了理论讲解和实际操作,以便让学习者能...
是我从黑马资源中抓出来的每天教师上课的笔记,对于基础学习者帮助还是很大的,毕竟视频太多了,不可能全部看完,但是笔记就不一样.
Java中的继承是单继承,即一个子类只能有一个直接父类。 4. **多态**:多态是面向对象的另一个关键特性,它允许不同对象对同一消息作出不同的响应。通过接口或抽象类,可以实现多种类型的对象对同一方法的调用。 5...
黑马程序员_毕向东_Java基础视频教程第18天-09-IO流(文件的续写)
Java面试宝典是Java程序员求职面试的重要参考资料,它涵盖了Java编程语言的核心概念、高级特性、设计模式、并发处理、框架应用、数据库交互等多个方面。以下将详细解析这些关键知识点: 1. **Java基础**:面试中,...
继承允许一个类(子类)继承另一个类(父类)的属性和方法,减少代码重复;多态则是指同一种行为在不同对象上有不同的表现形式,提供了更大的灵活性。 2. **类与对象**:在Java中,类是对象的蓝图,而对象是类的...
本教程《黑马程序员_毕向东_Java基础视频教程第18天-13-IO流(拷贝文本文件)》专注于讲解如何利用IO流来实现文本文件的复制操作。这个过程涉及到了对文件读取、数据缓冲以及写入等基础知识,对于初学者来说是理解和...