永发信息网

急求!初学者一道关于字符串的java题目,请帮助修改

答案:3  悬赏:20  手机版
解决时间 2021-07-18 06:53
  • 提问者网友:骨子里的高雅
  • 2021-07-17 21:21

题目是命名一个StringTest程序,定义一个称作StringTest的类,实现用户从键盘输入一句字符串,程序将把第一个出现空格的位置以及将整个字符串中所有的空格计算出来,最后程序将整句字符串逐个从最后一个位置到第一个位置反转显示出来(如abce变为ecba)

这是我请教别人后自己写的,但是貌似还是很不对。。

import java.io.*;
public class StringTest
{
public static void main(String args[])
{
String str;
String str2;
try
{
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
System.out.print("请输入内容:");
str=in.readLine();
System.out.println(NumberSpace(str));
System.out.println(InverString(str));
}
catch(Exception e)
{
System.out.println("您输入的数据有误");
return;
}
}
public NumberSpace(String str)
{
for(int i=0;i<str.length();i++)
{
if(str.charAt(i)==" ")
return i;
}
int sum=0;
for(int i=0;i<str.length();i++)
{
if(str.charAt(i)++" ")
sum ++;
}
}
public InverString(String str2)
{
for(int i=str.length-1;i>=0;i--)
{
System.out.println(str.charAt[i]);
}

明天就要课上写了~拜托请帮助一下!

另外我想问一下charAt(i)和charAt[i]的区别,数组我很混乱!

最佳答案
  • 五星知识达人网友:毛毛
  • 2021-07-17 21:45

你写的程序错误N多,多看看基础吧


修改后的程序




import java.io.*;
public class StringTest
{
public static void main(String args[])
{
String str;
try
{
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
System.out.print("请输入内容:");
str=in.readLine();
System.out.println(NumberSpace(str));
InverString(str);
}
catch(Exception e)
{
System.out.println("您输入的数据有误");
return;
}
}
public static int NumberSpace(String str)
{
int sum=0;
for(int i=0;i<str.length();i++)
{
if(str.charAt(i)==' ')
sum++;
}
return sum;
}


public static void InverString(String str)
{
for(int i=str.length()-1;i>-1;i--)
{
System.out.print(str.charAt(i)+" ");
}
}
}


全部回答
  • 1楼网友:低血压的长颈鹿
  • 2021-07-18 00:09

public class soso{ public static String newstring(String str) { //把传进来的str 进行拆分 以“ ”空格拆分 String[] st = str.split(" "); //定一个接受新的字符串 String newstring = ""; //倒着处理字符串 for(int i=st.length-1;i>=0;i--) { //倒着一个一个的把字保存 for(int num = st[i].length()-1;num>=0;num--) { newstring=newstring+st[i].charAt(num); } //处理完以后 加一个空格 newstring=newstring+" "; } return newstring; } public static void main(String args[]){ // 定义一个接受输入进来的字符串 String str="";

BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); try { System.out.println("请输入被转换的内容:"); //接受字符串 str = in.readLine(); //打印方法返回的字符串 System.out.println(newstring(str)); } catch (IOException e) { e.printStackTrace(); } } }

  • 2楼网友:西岸风
  • 2021-07-17 22:57

charAt(i)表示将变量i的值作为参数传递到charAt()函数中,函数是处理数据的,

charAt[i]表示在数组charAt中的第i个元素的值,数组是存储数据的。

public NumberSpace(String str) {

int first=0;

int sum=0; for(int i=0;i<str.length();i++) { if(str.charAt(i)==" ")

{

if(first==0)first++;

sum++

} } }

public InverString(String str) { for(int i=str.length-1;i>=0;i--) { System.out.println(str.charAt(i)); }

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯