码迷,mamicode.com
首页 > 编程语言 > 详细

java经典程序编程知识(三)

时间:2018-12-24 02:39:39      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:com   i+1   遇到   总结   tmp   tin   原来   AMM   start   

Java中int、String的类型转换
int->String
  1. 加上""
  2. Integer.toString()
String->int
  1. Integer.parseInt();

String[] str=scanner.nextLine().split(" ");//是字符串数组而不是字符数组
总结:
length——数组的属性;
length()——String的方法;
size()——集合的方法;
nums2=nums1;//数组之间赋值,只是改变了引用而已
\s代表一个空白字符 正则表达是中的\s应该是匹配一个空白字符

Scanner.useDelimiter( )

由于Scanner对象将首先跳过输入流开头的所有空白分隔符,然后对输入流中的信息进行检查,直到遇到空白分隔符为止;因此输入数据:this is a test;空白后面的字符:is a test不会显示输出来。那如何将含有空格的数据输出呢?
这时就需要用Scanner.useDelimiter( )方法,可以将分隔符号修改为"回车",或者其他字符。
有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数,循环可以用%运算

打印出杨辉三角形(要求打印出10行如下图)
      1
     1 1  
    1 2 1
    ......
public class Programme {
    public static void main(String[] args) {
        int[][] nums=new int[10][10];
        //数组第一列全为1
        for(int i=0;i<10;i++){
            nums[i][0]=1;
        }
        //将杨辉三角形的数全部算出来
        for(int i=1;i<10;i++){
            for(int j=1;j<i+1;j++){
                nums[i][j]=nums[i-1][j]+nums[i-1][j-1];
            }
        }
        //分情况打印输出
        for(int i=0;i<10;i++){
            for(int j=0;j<10-i-1;j++){
                System.out.print("  ");
            }
            for(int j=0;j<10;j++){
                if(nums[i][j]==0){
                    break;
                }
                System.out.print(nums[i][j]+"  ");
            }
            System.out.println();
        }
    }
}

【程序37】
题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。

public class Programme {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入人数:");
        int n=scanner.nextInt();
        boolean bool[]=new boolean[n];
        //count控制圈内人数,index控制圈的循环,c控制报数的次数
        int count=n,index=0,c=0;
        while(count>1){
            for(int i=index;i<n;i++){
                if(bool[i]==false){
                    c++;
                }
                if(c==3){//报数满三次,c重置为0
                    bool[i]=true;
                    count--;//表示人少了一个
                    c=0;
                }
            }
            index=0;//报满一圈置为0
        }
        for(int i=0;i<n;i++){
            if(!bool[i]){
                System.out.println("最后留下的是原来的第"+(i+1)+"位");
            }
        }
        scanner.close();
    }
}

高精度除以低精度=高精度

string1.compareTo(string2);

如果返回1,String1>String2
如果返回-1,String1<String2
如果返回0,String1=String2

持续输入

while (input%2!=0) {
System.out.println("你输入的不是偶数,请重新输入:");
input=scanner.nextInt();
}
参考:https://www.cnblogs.com/bluestorm/p/3698810.html





java经典程序编程知识(三)

标签:com   i+1   遇到   总结   tmp   tin   原来   AMM   start   

原文地址:https://www.cnblogs.com/leo--blog/p/10166520.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!