问题是将素数系列打印到n。但是如果任何素数包含数字7,则它被替换为S. 例如,如果n = 7,则系列将是 2 3 5 S 11 13 S. 我该怎么做?
答案 0 :(得分:0)
Here是如何查找和打印素数的示例。之后,您只需检查数字7的每个数字并替换。
在网站上的代码中,可以使用简单的字符串包含方法来完成。
var stringValue = "thisMagaizineRoomcode";
re = /[A-Z][^A-Z]*$/;
re.exec(stringValue);
stringValue.match(re);
答案 1 :(得分:0)
这不是最佳方式,但应该有效。测试它是否为素数的函数:
private boolean isPrime(int n)
{
for(int i = 2; i < n; i++)
{
if(n % i == 0)
return false;
}
return true;
}
执行主循环的代码:
for (int i = 2; i <= number; i++)
{
if(isPrime(i))
{
if(Integer.valueOf(i).toString().contains("7")) {
System.out.print("S ");
} else {
System.out.print(i + " ");
}
}
}
答案 2 :(得分:0)
如果您的系列包含在int数组中,则将其转换为String
:
int[] arPrimes = {2,3,5,7,11,13,17, ... }; //generate your prime numbers series
String strPrimes = Arrays.toString(array);
然后,你应该有这个序列:
strPrimes = "2, 3, 5, 7, 11, ... ";
您只需使用"7"
;
"S"
的子字符串
String strPrimes7S = strPrime.replaceAll(",([0-9]*7+[0-9]*)", ",S");