nextLine()与next()的使用、初识Random用法、JAVA 截取字符串

Scanner中nextLine()方法和next()方法的区别 之具体应用(以计算器为例)

注意: nextLine()与next()的使用区别理论部分 详情请见上篇博客———对“java学习的第三周” 的第四部分

 import java.util.Scanner;

 public class Xiangmu2plus{

    public static void main(String [] args){
        System.out.println("欢迎使用计算器");
        int a=0;
        while(true){   //不断循环
              Xiangmu2plus k=new Xiangmu2plus();
            boolean g=k.input();  //input()返回值是boolean型

		              if(g){ }     //false or true

            else
                {System.out.println("谢谢使用计算器OVER");
                             break;}
                 }
        }



    public static double count_Data(double data1 ,double data2, String sign ){ 
      //使用double 来计算比int计算结果更普遍,为打折做准备
        double data = 0;
        if(sign.equals("+"))
            {data = data1 + data2;}
        else if(sign.equals("-"))
            {data = data1 - data2;}
        else if(sign.equals("*"))
            {data = data1 * data2;}
        else if(sign.equals("/"))
            {data = data1 / data2;}
        else
            {data = -99999999;}
        return data;
    }



  public static  boolean input(){
        System.out.println("请输入第一个数:");
        Scanner in = new Scanner(System.in);
        double data1 = in.nextDouble();
        System.out.println("请输入运算符:");
        String sign = in.next();              //此处使用nextLine()一直运行不下去 因为接收了换行符
        System.out.println("请输入第二个数:");
        double data2 = in.nextDouble();
        double data = count_Data(data1,data2,sign);    //使用double 好计算小数
        if(data == -99999999)
          {  System.out.println("计算结果错误!");}

        else
          {  System.out.println("计算结果是"+data);}

         System.out.println("是否继续Y/N:");
         in.nextLine();             ~~删除线格式~~          //此处使用nextLine() 来接收了回车
          String contu=in.nextLine();       //因为接收了回车 故此处可以用nextLine()
          if(contu.equals("Y")||contu.equals("y"))
          {
			  return true;

			  }
          else {return false;}



    }

}




近期好奇Java能不能随机生成数字,百度检索后发现确实可以,随机生成数字的方法类似于Scanner的使用方法

***如下代码是随机生成数字的代码 ***

import java.util.Random;  //导包 
public class RandomDemo{
	public static void main(String[] args){
		Random a=new Random();    //创建对象
		for(int i=0;i<=100;i++)
		{  int number=a.nextInt(10);    //随机生成0-10的数,包括0 但不包括10
			System.out.println(number);
             double d1 = a.nextDouble(); // 生成[0,1.0]区间的小数
        double d2 = a.nextDouble() * 7; // 生成[0,7.0]区间的小数
        	System.out.println(d1);
        		System.out.println(d2);
			}
		}
	}

主要参考

JAVA 截取字符串

方法一,指定字符,截取字符串

tring str = "abcd,123,123abc,fij23";
String[]  strs=str.split(","+"\\s");   //   \\s  "\s"是空格  要多打一个反斜杠。而“\s+”则表示匹配任意多个上面的字符 当我们要裁剪连续空格时我们需要使用\\s+,否则会分割出错
System.out.println(strs[1]); //输出结果是123
  System.out.println(strs);//**此处报错**,不能直接输出,出现[Ljava.lang.String问题,"@"后面表示该对象的HashCode  
                           //  解决方法: 用Arrays.toString() 方法 

举个例子:

import java.util.Arrays;    //导包
public class Jie{
public static void main(String[] args){
String str1 = "abcd,123,123abc,fij23";
    String[] strs=str1.split(",");
       System.out.println(Arrays.toString(strs));  //输出结果是[abcd, 123, 123abc, fij23]
        System.out.println(strs[1]); //输出结果是123
}

}

方法二:指定索引号,截取字符串

String str = "abcdefghijklmnopqrstuvwxyz";
str.substring(5);

参考1
参考2

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值