java之练习字符串的处理

public class Lianxi{

  public static void main(String[] args){

    String str="像勇士这样的球队,只有防守一松懈,他们才能抓住机会,打完了三场,爵士还是没找到应对勇士的办法";

            //1.写代码找出关键字“球队”,“机会”所在字符串str的索引位置,找出字符串中第二个“勇士”的位置,并输出在控制台上
            int i1=str.indexof("球队");
            int i2=str.indexof("机会");
            int i3=str.lastIndexof("勇士");
            Syetem.out.println(i1);
            Syetem.out.println(i2);
            Syetem.out.println(i3);

            //2.定义int型变量m,取值为第一题中所有索引值的和
            int m=i1 +i2 +i3;    

            //3.在控制台上输出m作为char型时显示的内容
            System.out.println((char)m);

            //4.写代码实现将str字符串用","分割成数组, 并输出索引值为4的值
            System.out.println(str.split(",")[4]);

            //5.写代码实现将str字符串中"爵士"用"勇士"代替, "勇士"用"爵士"代替, 并将结果输出到控制台上(禁用replace方法)
            String[] newstr=str.split("");
            String temp ="";
            for(int i=0;i<newstr.length;i++){
                if("爵".equals(newstr[i])){
                    newstr[i] ="勇";
                }else if("勇".equals(newstr[i])){
                    newstr[i] ="爵";
                }
                temp +=newstr[i];
            }
            System.out.println(temp);

            //6.编写代码从str字符串中取一部分在控制台上打印这样一句话: 勇士抓住机会,找到应对办法
            int a=str.indexof("勇士");
            System.out.print(str.substring(a, a+2));
            int b=str.indexof("抓住机会");
            System.out.print(str.substring(b, b+4));
            int c=str.indexof("找到应对");
            System.out.print(str.substring(c, c+4));
            int d=str.indexof("办法");
            System.out.print(str.substring(d, d+2));

            //7.写一段代码, 可以取出任意qq邮箱地址中的qq号码
            String qqemail = "[email protected]";
            System.out.println(qqemail.substring(0, qqemail.indexof("@")));

            String[] a= qqemail.split("@");
            System.out.println(a[0]);

  }
}
 1 public class Lianxi{
 2
 3   public static void main(String[] args){
 4
 5        //1.使用for和if打印一个空心正方形
 6         int n= 5;
 7         for(int i=0; i<n; i++){
 8             for(int j=0; j<n; j++){
 9                 if(i==0 || i==4){
10                     System.out.print("* ");
11                 }else{
12                     if(j==0 || j==4){
13                         System.out.print("* ");
14                     }else{
15                         System.out.print(" ");
16                     }
17                 }
18             }
19             System.out.println();
20         }
21
22
23
24        //2.使用for循环打印一个菱形
25                 int n=4;
26         for(int i=0; i<n; i++){
27             for(int j=0; j<n-i-1; j++){
28                 System.out.print(" ");
29             }
30             for(int k=0; k<2*i+1; k++){
31                 System.out.print("*");
32             }
33             System.out.println();
34         }
35         for(int a=0; a<n-1;a++){
36             for(int b=0; b<a+1; b++){
37                 System.out.print(" ");
38             }
39             for(int c=0; c<5-(2*a); c++){
40                 System.out.print("*");
41             }
42             System.out.println();
43         }
44
45
46   }
47 }
时间: 2024-10-25 17:38:01

java之练习字符串的处理的相关文章

Java中的字符串常量池

最近做到一个题目: 问题:String str = new String("abc"),"abc"在内存中是怎么分配的?    答案是:堆,字符串常量区. 题目考查的为Java中的字符串常量池和JVM运行时数据区的相关概念."abc"为字面量对象,其存储在堆内存中.而字符串常量池则存储的是字符串对象的一个引用. Java中的字符串常量池 Java中字符串对象创建有两种形式,一种为字面量形式,如String str = "droid&qu

Java学习笔记--字符串和文件IO

1.Java中的字符串类和字符的表示 2.区分String,StringBuilder和StringBuffer 3.从命令行中给main方法传递参数 4.文件操作 1 Java中的字符串和字符 1.1 String类 字符串就是由一系列的字符组成的序列,在很多语言中,比如C语言,将其存储在一个数组中.现在运用Java的思想,就要将字符串视为一个对象,其中Java规定的String类有11个构造方法,同时还有至少40种实现的方法,通过String类的学习,可以很好地了解面向对象的类和对象的思想.

Java整数和字符串转换

字符串转换整数: 虽然有类似的Integer.parseInt(),但是笔试面试明显不会如此: 转字符串可以考虑为: 1.单个字符的转换 2.权值 如:从前往后依次扫描,则每次扫描一个字符  前面数值*10: 如345,扫描3,再3*10+4,再34*10+5............ 从后往前扫描类似处理: class ParsInt{ public static void main(String[] args) { // TODO, add your application code Syst

再回首,Java温故知新(八):Java基础之字符串

字符串是Java中使用频率最高的类,但是它却不属于基本类型,而是预定义了String类来表示.从String类的源码可以看到,String是基于char[]实现的,而且Java中的String是不可变字符串,即String初始化之后不可更改. 估计到这就有人问了,字符串不是都可以改的吗?下面两种不都是更改吗? String a = "123"; a = "1234"; a = a + "F"; 这里需要指出的是,字符串在内存中的存放分为两部分,首

protobuf在java中的字符串化

最近由于项目需要,大致研究了一下protobuf的java使用.说实话,习惯了C++的protobuf,java用起来真别扭. 由于需要将protobuf序列化后,存入redis,而且redis没法直接存储非字符串的数据,所以我只能想办法将protobuf序列化成字符串. protobuf的java实现里,并没有直接序列化成String类型变量的方法,但是提供了toByteArray()方法,可以序列化成byte[]. 于是乎很容易想到可以这么做: byte[] raw_bytes = prot

java学习-关于字符串String

有必要总结记录一下java的学习,否则,永远只是记忆碎片化和always google(费时) 刚好,小伙伴给了一份自己做的review,在学习的过程中,update一下自己的见解和学习内容: 关于String: 1 package string_keywords; 2 /** 3 * 参考url: http://developer.51cto.com/art/201106/266454.htm 4 * 5 * 常量池(constant pool)指的是在编译期被确定,并被保存在已编译的.cla

Java编程基础-字符串

在Java语言中,字符串数据实际上由String类所实现的.Java字符串类分为两类:一类是在程序中不会被改变长度的不变字符串:另一类是在程序中会被改变长度的可变字符串.Java环境为了存储和维护这两类字符串提供了 String和StringBuffer两个类(在JDK1.5版本后出现了StringBuilder,该类被设计用作 StringBuffer 的一个简易替换). 一.字符串(String) 1.字符串概念了解 String 类代表字符串,Java 程序中的所有字符串字面值(如 "ab

Java正则表达式实现字符串的动态多替换

需求场景: 今天在处理SQL语句的时候,由于数据库中存的格式是VARCHAR2型的,这就需要对SQL语句中WHERE条件后边的带数字的字符串加上单引号,对于字符串的处理,首先想到的就是正则表达式,对正则表达式,虽然有一些了解,但是也谈上很熟练,百度了一番(正常网络也就那个几个无奈的搜索引擎使用啦),发现替换,基本上属于固定替换,就是把某一类符合正则标准的,全部替换为一个固定的字符串,比如说,错别字的处理啊,还是比较好用的,这个在程序中也有实现,很easy.但是,我需要的是多个,且是动态替换的,最

Android学习笔记----Java中的字符串比较

用习惯了C#.C++,在做字符串比较时想当然地使用如下语句: 1 string str1 = "abcd", str2 = "abcd"; 2 if(str1==str2) 3 { 4 return true; 5 } 6 else 7 { 8 return false; 9 } 殊不知在Java中,两个String类型的变量,尽管字符相同,使用”==“进行比较,也会返回false. Java中进行字符串比较需采用String类型的equals方法: 1 Strin

JAVA中创建字符串的两种方式的区别

我们知道,通常在Java中创建一个字符串会有两种方式,通过双引号直接赋值和通过构造器来创建. String x = "abcd"; String y = new String("abcd"); 然而,这两种方式之间的区别是什么?分别应用于哪些情况,之前还不是很懂. 1.双引号的方式 String x = "abcd"; String y = "abcd"; System.out.println(x==y);//true Sys