需要帮助打印字符串的最后一个符号

时间:2018-02-08 20:23:15

标签: java arrays string

//对于每个数组args字符串,打印字符串,长度,第一个符号和最后一个符号。

class MyProtocolConsumer(WebsocketConsumer):
    def websocket_connect(self, message):
        self.base_send({"type": "websocket.accept", "subprotocol": "my-protocol"})

所以我的问题是如何打印字符串的最后一个符号?我正试图这样做

public class A8b {
    public static void main(String[] args) {
        int i = 0;
        for(i = 0; i < args.length; i++) {
            System.out.println(args[i]); //print the string
            System.out.println(args[i].length()); //length of string
            System.out.println(args[i].substring(0,1)); //its first symbol
            System.out.println(args[i].length()-1); //its last symbol  <<----------
        }
    }
}

但它给了我一个错误的答案。有人可以帮助我吗?

3 个答案:

答案 0 :(得分:0)

从基本字符串str获取最后一个字符substring at the index length-1 str.substring(str.length()-1)

所以args[i].substring(args[i].length-1)

答案 1 :(得分:0)

如果您知道如何获取第一个字符,您可以使用子字符串来获取最后一个字符,但只需将其指向最后一个字符:

int lastIdx = args[i].length()-1;
System.out.println(args[i].substring(lastIdx)); //its last symbol 

或者,您可以使用charAt(index_of_last_char)

System.out.println(args[i].charAt(lastIdx)); //its last symbol 

答案 2 :(得分:0)

来自javadoc:https://docs.oracle.com/javase/9/docs/api/java/lang/String.html#substring-int-int-

public String substring​(int beginIndex,
                        int endIndex)
     

返回一个字符串,该字符串是此字符串的子字符串。    子字符串从指定的beginIndex开始并延伸到字符at   index endIndex - 1.因此子字符串的长度是   endIndex的-的beginIndex。

Examples:

     "hamburger".substring(4, 8) returns "urge"
     "smiles".substring(1, 5) returns "mile"


Parameters:
    beginIndex - the beginning index, inclusive.
    endIndex - the ending index, exclusive.

所以在你的情况下,从字符串中提取最后一个符号的代码将是这样的:

String abc = "abc";
String c = abc.substring(abc.length() - 1, abc.length());
System.out.println(c); // c