A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

//这是一小部分;//c.nextInt()与c.nextLine()连用时的情况与解决方法:
import java.util.Scanner;
class sy {
        public static void main(String[] args) {
                /*System.out.println("Hello World!");
                Scanner c = new Scanner(System.in);
                System.out.println("请输入一个数字");
                int i = c.nextInt();
                System.out.println("请输入第二个数字");
                int ii = c.nextInt();
                System.out.println("输入的数字为:" + i + " 和 " + ii);*/
               
                /**Scanner cc = new Scanner(System.in);
                System.out.println("请输入一串数字");
                String s = cc.nextLine();                       /*这种只能点击一次回车键的情况,可以在输完数字后加空格,然后                                                                   继续输入字符串在回车就能实现一次赋值两次了*/
                System.out.println("请再输入一串数字");
                String ss = cc.nextLine();
                System.out.println("字符串为:" + s + " 和 " + ss);*/

                /*Scanner c = new Scanner(System.in);                     //或者都采用字符串赋值,然后转型int即可;
                System.out.println("请输入一个数字");
                int a = c.nextInt();
                System.out.println("请输入一串数字");
                Scanner c2 = new Scanner(System.in);
                String b = c2.nextLine();
                System.out.println("输入的数字和字符串为:" + a + " 和 " + b + '好');*/
        }
}


1.分析以下需求,并用代码实现:
        (1)打印1到100之内的整数,但数字中包含9的要跳过
        (2)每行输出5个满足条件的数,之间用空格分隔
        (3)如:1 2 3 4 5
class Work1 {   
                     //打印1-100的数,去除含9的数continue,控制输出for/for/if
        public static void main(String[] args) {
                        int count = 0;
                for(int i = 1;i <101;i++) {
                        int g = i % 10;
                        int s = i / 10 % 10;                               
                        if(g == 9 || s == 9)
                                continue;
                        System.out.print(i + " ");
                        count++;
                        if(count == 5) {          //或用count%5==0
                                count = 0;
                                System.out.println();
                        }
                }
        }
}

4.分析以下需求,并用代码实现:
        (1)珠穆朗玛峰高度为8848米,有一张足够大的纸,厚度为0.001米。
        (2)请问,我折叠多少次,可以折成珠穆朗玛峰的高度。
class Work4 {   
                     //每折叠一次厚度乘2或0.001 二进制左移一位,厚度与8848判断
        public static void main(String[] args) {
                int j = 1;
                while(1 << j <= 8848000) {
                        j++;       
                }
                System.out.println("我折叠了 " + j + " 次");

        }
}

7.分析以下需求,并用代码实现:
        (1)打印倒直角三角形
                *****
                ****
                ***
                **
                *
       
class Work7 {   
                     public static void main(String[] args) {
                for(int i = 5; i > 0; i--) {                     //此for只是确定行数,i先赋值1还是5无关
                        for(int j = 1; j <= i; j++) {            //输出若想大头小尾就将j先赋值大的数,个数可以用函数设置
                                System.out.print("*");
                               
                        }                                        //输出端可以加入控制条件,完成输出设置操作
                        System.out.println();
                }
        }
}

                       *                                //输出该图形,并采用手动输入形式:
                   * *
                  * * *
                 * * * *

class Wm {                          

        public static void main(String[] args) {
                int h = 0;
                Scanner c = new Scanner(System.in);
                int i = c.nextInt();
                for (int l = i;l >= 0 ;l-- ) {
               
                        for (int j = 0;j < l ;j++ ) {
                                System.out.print(" ");
                        }
                        h++;
                        for (int k = h;k > 0 ;k-- ) {
                        System.out.print("* ");
                        }
                        System.out.println();
                }
        }

import java.util.Scanner;
class Stringbf {                //使用StringBuffer 实现数组遍历,其比String 型节省内存
        public static void main(String[] args) {
                int[] arr = {2,3,4,5,6,7,3,6,76};                                //设定数组
                String s = array2String(arr);
                System.out.println(s);
                reverString();
        }

        public static String array2String(int[] arr) {
                StringBuffer sb = new StringBuffer();                        //创建StringBuffer对象
                sb.append("  [");
                for(int j = 0;j < arr.length ;j++ ) {                        //遍历数组
                        if(j != arr.length-1) {
                                sb.append(arr[j]).append(", ");                        //数组结尾处判断
                        }else {
                                sb.append(arr[j]).append(']');
                        }
                }
                return sb.toString();
        }

        public static void  reverString() {
                Scanner sc = new Scanner(System.in);                        //键盘录入
                System.out.println("请输入一串字符串:");
                String s = sc.nextLine();
                StringBuffer sb = new StringBuffer(s);                        //创建StringBuffer对象
                sb.reverse();                                                //实现字符串反转
                System.out.println(sb.toString());                        //转换成字符串,并输出                       
        }
}



class PubbleSort {                        //其为冒泡排序法加数组排序法
        public static void main(String[] args) {
                int[] arr = {2,3,44,55,3,22,5,7,99,7,65};
                pubbleSort(arr);
                print(arr);
        }
        public static void pubbleSort(int[] arr) {
                for(int i = 0 ;i < arr.length-1 ; i++ ) {                 //设置循环次数 i为有几个被排列出了
                        for(int j = 0; j < arr.length-1-i;j++) {
                                if(arr[j] > arr[j +1]) {                //排序关键,决定升序还是降序,此为升序
                                        int t = arr[j];
                                        arr[j] = arr[j + 1];
                                        arr[j + 1] = t;
                                }
                        }
                }
        }

        public static void print(int[] arr) {
                StringBuffer sb = new StringBuffer("  [");
                for(int k = 0;k <arr.length ;k++ ) {
                        if(k != arr.length-1) {
                                sb.append(arr[k]).append(" ,");
                        }else {
                                sb.append(arr[k]).append("]\n\n");
                        }
                       
                }
                System.out.print(sb.toString());
        }
}


class Cc {                //利用选择排序法排列数组,选择(数据)从左边,冒泡从右边
        public static void main(String[] args) {
                int[] arr = {3,4,5,6,7,8,33,775,4,3,22};
                xuanZe(arr);
                print(arr);
        }
        public static void  xuanZe(int[] arr) {                 
                for(int i = 0;i < arr.length-1 ;i++ ) {
                        for(int j = i + 1;j < arr.length ;j++ ) {  //数据从左边开始放入
                                if(arr[i] > arr[j]) {
                                        swap(arr,i,j);
                                }
                        }
                }
        }

        public static void swap(int[] arr,int i,int j) {        // 抽取的方法,便于多次调用
                int temp = arr[i];
                arr[i] = arr[j];
                arr[j] = temp;
        }

        public static void print(int[] arr) {
                System.out.print("  [ ");
                for(int i = 0;i < arr.length ;i++ ) {
                        if(i != arr.length-1) {
                                System.out.print(arr[i] + " , ");
                        }else {
                                System.out.print(arr[i] + " ] ");
                        }
                }
        }
}



1 个回复

正序浏览
这是一小部分,后边还有追加。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马