只能用循环语句里面的while语句编写一个程序使得输入n个整数,遇到0就输出结果.对于每个0之前的整数,计算他们能被2整除的次数(比如1能被2整除一次,2的话就是两次,128是8次……)例如,如果
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/05 20:52:46
![只能用循环语句里面的while语句编写一个程序使得输入n个整数,遇到0就输出结果.对于每个0之前的整数,计算他们能被2整除的次数(比如1能被2整除一次,2的话就是两次,128是8次……)例如,如果](/uploads/image/z/5488606-46-6.jpg?t=%E5%8F%AA%E8%83%BD%E7%94%A8%E5%BE%AA%E7%8E%AF%E8%AF%AD%E5%8F%A5%E9%87%8C%E9%9D%A2%E7%9A%84while%E8%AF%AD%E5%8F%A5%E7%BC%96%E5%86%99%E4%B8%80%E4%B8%AA%E7%A8%8B%E5%BA%8F%E4%BD%BF%E5%BE%97%E8%BE%93%E5%85%A5n%E4%B8%AA%E6%95%B4%E6%95%B0%2C%E9%81%87%E5%88%B00%E5%B0%B1%E8%BE%93%E5%87%BA%E7%BB%93%E6%9E%9C.%E5%AF%B9%E4%BA%8E%E6%AF%8F%E4%B8%AA0%E4%B9%8B%E5%89%8D%E7%9A%84%E6%95%B4%E6%95%B0%2C%E8%AE%A1%E7%AE%97%E4%BB%96%E4%BB%AC%E8%83%BD%E8%A2%AB2%E6%95%B4%E9%99%A4%E7%9A%84%E6%AC%A1%E6%95%B0%EF%BC%88%E6%AF%94%E5%A6%821%E8%83%BD%E8%A2%AB2%E6%95%B4%E9%99%A4%E4%B8%80%E6%AC%A1%2C2%E7%9A%84%E8%AF%9D%E5%B0%B1%E6%98%AF%E4%B8%A4%E6%AC%A1%2C128%E6%98%AF8%E6%AC%A1%E2%80%A6%E2%80%A6%EF%BC%89%E4%BE%8B%E5%A6%82%2C%E5%A6%82%E6%9E%9C)
只能用循环语句里面的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("空!");
}
}
}