无法用Java中的charAt()打印字符串的所有字符?

时间:2018-01-10 00:52:12

标签: java string

我有一个问题。我是编程的初学者,我已经被困在这里几个小时了。我想知道如何阅读某个用户输入中的所有字母。

package com.roostech.gridlayout;
import android.media.MediaPlayer;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;


public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

    }
    public void buttontapped(View view){
        int id = view.getId();

        String  ourId = view.getResources().getResourceEntryName(id);
        int resourceId = getResources().getIdentifier(ourId, "raw", "com.roostech.gridlayout");

        MediaPlayer mplayer  = MediaPlayer.create(this, resourceId);
        Log.i("button tapped", ourId);
    }
}

我正在创建一个程序,必须输入一个名称,该名称的所有字符都将通过String naem = inPut.nextLine(); //where inPut is a "Scanner inPut = new Scanner (system.in) nameInput = naem.charAt(0); //where nameInput is a char System.out.println("Name: "+nameInput); 打印

如果你能提供帮助,我真的很感激。

2 个答案:

答案 0 :(得分:2)

您希望打印输入所接收的naem而不是单个字符,如果您使用.charAt(),则会获得该字符。

答案 1 :(得分:1)

nameInput = naem.charAt(0); //1
System.out.println("Name: "+nameInput);//2

这两条线的实际作用是:

第1行正在取字符串的第一个字符并将其存储到nameInput中,然后第2行正在打印它。 现在,如果您想以这种方式打印所有字符,则必须遍历整个字符串。您可以使用循环来完成此操作。

这是一个例子:

String naem = inPut.nextLine(); //where inPut is a "Scanner inPut = new Scanner (system.in)
    System.out.println("Name: ");
    for (int i = 0; i < naem.length(); i++)
      { 
        char nameInput = naem.charAt(i); 
        System.out.print(nameInput);
      }

naem.length(),您将获得字符串的长度。