| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 764 人关注过本帖
标题:JAVA怎么实现添加字符串
只看楼主 加入收藏
sally02468
Rank: 2
来 自:山东
等 级:论坛游民
帖 子:17
专家分:14
注 册:2015-10-17
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
JAVA怎么实现添加字符串
import java.util.Vector;
import java.util.Scanner;
class Test{
    public static void main(String args[]){
        Scanner reader=new Scanner(System.in);
    Vector v=new Vector();
    int n=reader.nextInt();
    int m=reader.nextInt();
    int t=reader.nextInt();
    for(int i=0;i<n;i++)
    v.addElement(new Integer((int)(Math.random()*m)));
    v.addElement("hello world");
    //String s=reader.next(args[0]);
    //v.addElement(s);

    if(t<0||t>n+1)System.out.println("error");
    else
    v.insertElementAt("A",t);
    System.out.println(v.toString());
    }
}
随便输入三个数运行结果是这样
3 101 0
[A, 86, 76, 1, hello world]
现在我想把红色代码替换蓝色代码,实现键盘随机输入一个字符串,可是运行错误,请问怎么改呀
2015-10-24 23:13
calix
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:28
帖 子:249
专家分:1442
注 册:2015-5-4
收藏
得分:20 
把args[0]去掉
不过这里有个问题,空格是默认的一种分隔符,会将hello world当成两个字符串,解决方式很多,以下仅供参考:
程序代码:
//支持每输入一个值按一个回车的方式(3回车5回车0回车hello java回车)
public class Hello{
    public static void main(String args[]){
        Scanner reader=new Scanner(System.in);
        reader.useDelimiter("\r\n");//指定分隔符
        Vector v=new Vector();
        int n=reader.nextInt();
        int m=reader.nextInt();
        int t=reader.nextInt();
        for(int i=0;i<n;i++)
        v.addElement(new Integer((int)(Math.random()*m)));
        String s=reader.next();
        v.addElement(s);
        if(t<0||t>n+1)System.out.println("error");
        else
        v.insertElementAt("A",t);
        System.out.println(v.toString());
    }
}
//支持一次性输入,用空格分割(3 5 0 hello java回车)
public class Hello{
    public static void main(String args[]){
        Scanner reader=new Scanner(System.in);
        Vector v=new Vector();
        int n=reader.nextInt();
        int m=reader.nextInt();
        int t=reader.nextInt();
        for(int i=0;i<n;i++)
        v.addElement(new Integer((int)(Math.random()*m)));
        String s=reader.findInLine("\\w+.*\\w+");
        v.addElement(s);
        if(t<0||t>n+1)System.out.println("error");
        else
        v.insertElementAt("A",t);
        System.out.println(v.toString());
    }
}

//还有就是将有空格的字符串分多次输入,或替换比如输入"hello_world",读取后再换回空格
2015-10-25 10:11
sally02468
Rank: 2
来 自:山东
等 级:论坛游民
帖 子:17
专家分:14
注 册:2015-10-17
收藏
得分:0 
回复 2楼 calix
大神呀~
v.insertElementAt("A",t);
如果我想把“A”也改成随机输入,方法也差不多这样吗?
还想再问个问题,“.”运算符与“_”运算符有什么区别
谢谢!!

生活可以廉价,但是梦想不可以
2015-10-25 11:02
sally02468
Rank: 2
来 自:山东
等 级:论坛游民
帖 子:17
专家分:14
注 册:2015-10-17
收藏
得分:0 
回复 2楼 calix
这是我修改后的代码,运行错误,请问怎么改呀

import java.util.Scanner;
import java.util.Vector;
public class Test{
    public static void main(String args[]){
        Scanner reader=new Scanner(System.in);
        Vector v=new Vector();
        int n=reader.nextInt();
        int m=reader.nextInt();
        int t=reader.nextInt();
        for(int i=0;i<n;i++)
        v.addElement(new Integer((int)(Math.random()*m)));
        String str1;
        do{
         str1=reader.findInLine("\\w+.*\\w+");
        v.addElement(str1);
        }while(!str1.equals("end"));//输入字符串,以end作为结束
        String str2=reader.findInLine("\\w+.*\\w+");
        if(t<0||t>n+1)System.out.println("error");
        else
        v.insertElementAt(str2,t);//将字符str2插入到第t个位置
        System.out.println(v.toString());
    }
}

生活可以廉价,但是梦想不可以
2015-10-25 11:59
calix
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:28
帖 子:249
专家分:1442
注 册:2015-5-4
收藏
得分:0 
回复 4楼 sally02468
不清楚你说的“.”运算符与“_”运算符是指什么

findInLine("\\w+.*\\w+")是一次新获取所有包含空格的字符串,不适合你这种情况
用我上面写的第一种方式试试
2015-10-25 12:50
快速回复:JAVA怎么实现添加字符串
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021954 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved