JAVA的作业,题目如图片,交给各位了!普通的题目。我学到循环。要求用循环来做,希望大多用循环!拜托了

如题所述

public class Test{
    public static void main(String[] args) {
        // 1.
        for (int i = 0 ; i<50 ;i++ ) {
            if (i%7==0) {
                System.out.print(i+";");
            }
        }
        // 2.
        int top5=1;
        for (int j=0; j<50; j++) {
            if (j%7==0) {
                top5++;
                System.out.print(j+";");
                if (top5==5) {
                break;    
                }
            }
        }
        // 3.
        int drop10 = 1;
        double sumHight = 0;
        for (double k=100;k > 0;) {
            drop10++;
            k/=2;
            sumHight+=k;
            if (drop10==10) {
                System.out.println(sumHight);
                System.out.println(k);
                break;
            }
        }
        // 4.
        System.out.print("please input a int number:");
        java.util.Scanner sc  = new java.util.Scanner(System.in);
        String input  = sc.next();
        for (int x=0; x<input.length(); x++) {
            System.out.println(input.charAt(x));
        }
        // 5.
        System.out.print("please input another int number:");
        input  = sc.next();
        int dec=Integer.parseInt(input); 
        System.out.print(Integer.toHexString(dec));
    }
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-06-01
import java.util.Scanner;
public class TestLoop {

public static void main(String[] args) {
System.out.println("所有能被7整除的数:");
print7Multiple(0);
System.out.println("\n能被7整除的前5个数:");
print7Multiple(5);

System.out.println();
leap(10);

outputInteger();
parseToBinary();
}

/**
 * 第1题、第2题
 * 打印0到50能被7整除的数
 * @param n 如果n<=0则打印所有,否则打印前n个
 */
private static void print7Multiple(int n) {
int index = 0;
int i = 0;
while(i < 50) {
if(i % 7 == 0) {
index ++;
System.out.print(i + " ");
}
i ++;

if(n > 0) {
if(index == n) {
break;
}
}
}
}

private static final int MAX_HEIGHT = 100;
/**
 * 第3题
 * 求反高度
 * @param n 反弹次数
 */
private static void leap(int n) {
double height = MAX_HEIGHT;
double formerHeight = 0; // 前一次反弹的高度,掉落时还会经过这个距离
if(n == 0) {
System.out.println("共经过" + height + "米");
return;
}
for(int i = 1; i <= n; i ++) {
double leapHeight = leapHeight(i);
height += formerHeight + leapHeight;
formerHeight = leapHeight;
}
System.out.println("第" + n + "反弹" + "共经过" + height + "米");
System.out.println("第" + n + "反弹" + leapHeight(n) + "米");
}
/**
 * 第n次反弹的高度
 * @param n 反弹次数
 * @return 最大高度除以2的n次方
 */
private static double leapHeight(int n) {
return MAX_HEIGHT / Math.pow(2, n);
}

private static Scanner sc = new Scanner(System.in);
/**
 * 第4题
 * 任意输入一个整数,正序输出它的每一位
 */
private static void outputInteger() {
System.out.print("输入任意整数:");
int num = sc.nextInt();
String str = Integer.toString(num);
System.out.println("正序输出" + num + "的每一位:");
for(int i = 0; i < str.length(); i ++) {
System.out.println(str.charAt(i));
}
}

/**
 * 第5题
 * 输入十进制数转换成二进制输出
 */
private static void parseToBinary() {
System.out.print("请输入一个十进制数:");
int num = sc.nextInt();
System.out.print(num + "的二进制数为:");
System.out.println(Integer.toBinaryString(num));
}
}

本回答被提问者采纳