【发布时间】:2015-06-29 12:16:49
【问题描述】:
给定 C 中的字符串 "Hello",返回字符串中的 "H" 的方法会是什么样子。
然后,一旦我确定了如何做到这一点,我想更进一步,从初始字符串中删除第一个字符,以便下次我阅读它时 "Hello" 变为 "ello",当我再次调用 read 方法时,它会返回"e"?
我知道如何用其他语言(如 Java)来做到这一点,但我对 C 语言的熟练程度不高,所以我真的在为这个概念苦苦挣扎。
这是我在 java 中的做法。
public class Program1 {
private String expression = "-(1+3)*4/6";
public String cut_string(String word)
{
String temp = word.substring(1, word.length());
return temp;
}
public char readToken()
{
if(expression.length() > 1)
{
char token = expression.charAt(0);
expression = cut_string(expression);
return token;
}else {
System.out.print("BROKEN AT READ TOKEN");
return ' ';
}
}
public String getExpression()
{
return expression;
}
public static void main(String [] args)
{
Program1 thing = new Program1();
System.out.println("The token was: " + thing.readToken()
+ "\n" + "The remaining String is: "
+ thing.getExpression());
System.out.println("The token was: " + thing.readToken()
+ "\n" + "The remaining String is: "
+ thing.getExpression());
System.out.println("The token was: " + thing.readToken()
+ "\n" + "The remaining String is: "
+ thing.getExpression());
}
}
输出如下:
The token was: -
The remaining String is: (1+3)*4/6
The token was: (
The remaining String is: 1+3)*4/6
The token was: 1
The remaining String is: +3)*4/6
【问题讨论】:
-
欢迎来到 Stack Overflow!当您不仅发布您想要的内容,而且发布您已经尝试过的内容时,该网站的效果最佳。请发布您目前拥有的 C 代码以及似乎出了什么问题。
-
我真的不知道从哪里开始。我希望这只是一个我忽略的简单解决方案。至少读取字符串的第一个字符的部分