您好我正在尝试扫描数字1-113并执行以下操作
予。如果数字是奇数,则打印“x为奇数”
II。如果数字可被5整除,请打印“hi five”
III。如果数字(x)及其后续数字(x + 1)的总和是可被7整除的值,则打印“哇”
IV。如果数字是素数,则打印“prime”。
否则只是打印号码
这些语句中的每一个都应该用逗号分隔。这些函数必须保持原样以匹配提供的API,现在的问题是我的当前代码显示在不同的行上
1是奇数,
素
2,
3很奇怪,
素
哇
何时显示如下
1是奇数,Prime,
2,
3是奇数,Prime,哇
如果您对如何继续表示感谢,我将不胜感激。
import java.util.ArrayList;
public class Number
{
//check if by number is prime
public static boolean isPrime(int n){
//check if n is a multiple of 2
if (n%2==0) return false;
//if not, then just check the odds
for(int i=3;i*i<=n;i+=2) {
if(n%i==0)
return false;
}
return true;
}
//check if number is odd
public static boolean isOdd(int n){
if(n % 2 == 0){
return false;
}
return true;
}
//checks if number is divisible by 5
public static boolean isDivisibleBy5(int n){
if(n % 5 == 0){
return true;
}
return false;
}
//checks if number is divisible by 7
public static boolean isDivisibleBy7(int n){
if(n % 7 == 0){
return true;
}
return false;
}
//Each number from 1 to 113 is checked and if
public static ArrayList<String> iterate(){
//initialize arraylist of strings
ArrayList<String> al = new ArrayList<String>();
//for each number between 1 and 113 do the following
for(int i=1; i< 113; i++){
if (isOdd(i) == true){
al.add(i+" is odd, ");
}
else{
al.add(i+", ");
}
if (isDivisibleBy5(i) == true){
al.add(" high 5, ");
}
if(isPrime(i) == true){
al.add("Prime");
}
if(isDivisibleBy7(i+(i+1))==true ){
al.add("wow");
}
}
return al;
}
public static void main(String[] args) {
ArrayList<String> numbers;
numbers = iterate();
for(int i=0; i < numbers.size(); i++){
System.out.println(numbers.get(i));
}
}
}
答案 0 :(得分:1)
您使用的是System.out.println
,而您需要使用System.out.print
。
答案 1 :(得分:0)
因此,如果您尝试描述具有多个属性的数字,那么您就无法正确执行此操作。
list.add(i+"something");
list.add("Prime");
创建
{"isomething", "Prime"}
什么时候你想要它
{"isomething,Prime"}
但是你每次打电话时所做的就是将列表增加1个元素.add
尝试更改为
for(int i=1; i< 113; i++){
String numberString = "" + i;
if (isOdd(i) == true){
numberString += ", is odd";
}
else{
numberString += ",";
}
if (isDivisibleBy5(i) == true){
numberString += ", is even"
}
if(isPrime(i) == true){
numberString += "Prime";
}
if(isDivisibleBy7(i+(i+1))==true ){
numberString += "wow";
}
al.add(numberString);
}