我想要打印0-100的数字,不包括7的倍数和7的结尾。除了7部分的结尾,我可以做所有。是否有与char相同的charAt?
完成,谢谢你的帮助!
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<exclusions>
<exclusion>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
答案 0 :(得分:2)
是否有与char相同的charAt?
排序:你已经使用的余数操作,只是使用不同的除数:reduce(max)
将清除数字“以7结尾”。 (十进制;如果你想在八进制中执行它,它将是sc = SparkContext(appName="PythonStreamingQueueStream")
ssc = StreamingContext(sc, 1)
stream = ssc.queueStream([sc.parallelize([(1,"a"), (2,"b"),(1,"c"),(2,"d"),
(1,"e"),(3,"f")],3)])
stream.reduce(max).pprint()
ssc.start()
ssc.stop(stopSparkContext=True, stopGraceFully=True)
;或者在十六进制中它将是i % 10 != 7
,等等。例如,你正在隔离“一些”数字用数字基数做一个余数。)
所以:
% 8
附注:在Java中,压倒性的约定是类名以大写字符开头。所以% 16
而不是class revision{
public static void main(String[] args){
for(int i = 0; i < 101; i++){
if(i % 7 != 0 && i % 10 != 7){
// ------------^^^^^^^^^^^^^^^
System.out.println(i);
}
}
}
}
。
答案 1 :(得分:0)
是的,有charAt
可以实现您的目标:
public static boolean string7(int input) {
String inputString = input + "";
return (input / 7 == 0) || (Character.getNumericValue(input.charAt(input.length() - 1)));
}
其他答案没有回答具体问题,因为上述方法根本不是最优的,作者希望展示更好的方法。我同意他们,因为这种方法涉及转换为String
,这是一项非常昂贵的操作。您不会在一次调用中感受到它,但如果在多维循环中调用它,则应该感觉到性能下降。因此,与先前的答案一致,实现所需结果的更好方法是:
public static boolean int7(int input) {
return (input / 7 == 0) || (input % 7 == 0);
}
将来可能会有非常大的数字input
。要应对这种情况,您必须使用GitHub。