//对于每个数组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 <<----------
}
}
}
但它给了我一个错误的答案。有人可以帮助我吗?
答案 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