只能用循环语句里面的while语句编写一个程序使得输入n个整数,遇到0就输出结果.对于每个0之前的整数,计算他们能被2整除的次数(比如1能被2整除一次,2的话就是两次,128是8次……)例如,如果
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/26 11:03:31
只能用循环语句里面的while语句编写一个程序使得输入n个整数,遇到0就输出结果.对于每个0之前的整数,计算他们能被2整除的次数(比如1能被2整除一次,2的话就是两次,128是8次……)例如,如果
只能用循环语句里面的while语句
编写一个程序使得输入n个整数,遇到0就输出结果.对于每个0之前的整数,计算他们能被2整除的次数(比如1能被2整除一次,2的话就是两次,128是8次……)例如,如果输入的是:
2
9
-7
4
-3
0
那么输出就是:
2
4
3
3
2
只能用循环语句里面的while语句编写一个程序使得输入n个整数,遇到0就输出结果.对于每个0之前的整数,计算他们能被2整除的次数(比如1能被2整除一次,2的话就是两次,128是8次……)例如,如果
import java.util.Scanner;
public class TestClass {
public static void main(String[] args){
System.out.println("这是你的示例:");
System.out.println("2 9 -7 4 -3 0");
int[] array = {2,9,-7,4,-3,0}; // 你在知道上的示例
System.out.println("输出结果:");
for(int number : array){// 遍历数组里的每一个数字
// 你要求用while循环,不过这个应该不算的吧? 而且这个可以转换成while循环的
// OR (以下代码是等价的)
// for(int i = 0; i < array.length; ++i){
// int number = array[i];
int index = 0; // 被2整除次数的计数器
while(number != 0 && number / 2 != 0){ // 当遍历到0时中止循环
// 你要求用while循环
index ++;
number = number / 2;
}
System.out.print(index++ + " ");
}
System.out.println("\n_______________________");// 换行
//////////以下是输入后再处理:
Scanner scanner = new Scanner(System.in); // 可以进行输入操作
System.out.println("请输入一个数组,用空格分开,Enter键结束:");
String lineNumber = scanner.nextLine(); // 读取一行用户输入
String[] arrayString = lineNumber.split(" ");// 分隔空格
if(lineNumber.length() > 0){
for(String str : arrayString){
// OR (以下代码是等价的)
// for(int i = 0; i < arrayString; ++i){
// String str = array[i];
int index = 0; // 被2整除次数的计数器
int number = new Integer(str);
while(number != 0 && number / 2 != 0){ // 当遍历到0时中止循环
// 你要求用while循环
index ++;
number = number / 2;
}
System.out.print(index++ + " ");
}
}else{
System.out.println("空!");
}
}
}