gpt4 book ai didi

java - 如何在 C++ 中实现 Java "Scanner"?

转载 作者:搜寻专家 更新时间:2023-10-31 01:50:38 24 4
gpt4 key购买 nike

请看下面的java代码

import java.util.Scanner;

public class Main
{
static int mul=1;
static String convert;
static char[] convertChar ;
static StringBuffer buffer = new StringBuffer("");

public static void main(String[]args)
{

Scanner scan = new Scanner(System.in);

int number=0;
int loopValue = scan.nextInt();
//System.out.println("print: "+loopValue);

for(int i=0;i<loopValue;i++)
{
number = scan.nextInt();
// System.out.println("print: "+number);

for(int a=1;a<=number/2;a++)
{
if(number%a==0)
{
//System.out.println(a);
mul = mul*a;
//System.out.println(mul);
}
}

convert = String.valueOf(mul);
convertChar = convert.toCharArray();

if(convertChar.length>4)
{
/*System.out.print(convertChar[convertChar.length-4]);
System.out.print(convertChar[convertChar.length-3]);
System.out.print(convertChar[convertChar.length-2]);
System.out.print(convertChar[convertChar.length-1]);
System.out.println();*/

buffer.append(convertChar[convertChar.length-4]);
buffer.append(convertChar[convertChar.length-3]);
buffer.append(convertChar[convertChar.length-2]);
buffer.append(convertChar[convertChar.length-1]);

System.out.println(buffer);

}
else
{
System.out.println(mul);
}

//System.out.println(mul);
mul = 1;
}

}
}

此代码用于计算给定数字的正除数的乘积。我在这里使用了扫描仪,因为我不知道会输入多少输入。这就是为什么我不能去

int a, b;

cin >> a >> b

在 C++ 中。所有输入都将由测试引擎插入,如下所示

6 2 4 7 8 90 3456

如何使用 C++ 实现 Java“扫描器”?有没有头文件?请帮忙!

最佳答案

您似乎正在使用 Scanner 从标准输入流中一次读取一个整数。这可以通过提取运算符 operator>> 轻松完成。

替换这段代码:

    Scanner scan = new Scanner(System.in);

int number=0;
int loopValue = scan.nextInt();
//System.out.println("print: "+loopValue);

for(int i=0;i<loopValue;i++)
{
number = scan.nextInt();
// System.out.println("print: "+number);

有了这个:

    int number=0;
int loopvalue=0;
std::cin >> loopvalue;

for(int i = 0; i < loopValue; i++)
{
std::cin >> number;

您应该在 >>> 操作之后检查 std::cin 的值,以确保它们成功。

引用:

关于java - 如何在 C++ 中实现 Java "Scanner"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14821598/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com