我是Java的新手,我需要编写一个程序来将罗马数字转换为阿拉伯数字。
我不能使用某些功能,因为不允许更改乞讨或给定代码的结尾。我需要做所有的事情public static void main
函数。
我开始在Google上搜索并开始编写代码。从现在开始,我只能将“一个字母”的数字(如X,I,V ...)转换为阿拉伯数字,但是我只能将其转换为复杂的数字(XI,CCC,IX,IV ...)。
有人能帮我吗?我真的是Java新手。这是我的第一门程序语言,我正努力理解它。
这是我的代码:
import java.util.Scanner;
class Roman {
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
int[] numbers = {1000, 500, 100, 50, 10, 5, 1 };
String symbols = "MDCLXVI";
/*******************************************
* Complete your program
*******************************************/
System.out.print("Enter a roman numeral");
final int MAX = 3999;
Scanner keyb = new Scanner(System.in);
String roman = keyb.next();
roman=roman.toUpperCase();
if(roman.matches(".*[0-9].*") || !roman.matches("[M|D|C|L|X|V|I]*")){
System.out.println("Impossible to convert. Wrong roman numeral");
}
int i …
Run Code Online (Sandbox Code Playgroud) 我在SAS中有一个数字变量,我很难提取它的最后一位数字.我试过使用substr
但它只处理char
变量.我有的变量有3或4位数.
例
1234
237
754
9000
Run Code Online (Sandbox Code Playgroud)
在这些情况下,我需要提取
34
37
54
00
Run Code Online (Sandbox Code Playgroud)
并将它们存储为新的数字变量.我在proc sql
声明中尝试了代码,但它返回并出错.有人能帮我吗?
Var2 = input(substr(put(var1), 1, length(put(var1))-1), 8.)
Run Code Online (Sandbox Code Playgroud) 我是编程新手,我正在学习Java语言中的函数.
有功能,一个描述兔子的生长,另一个描述狐狸的生长.在这两个函数中,都有一个if
声明来避免nbRabbits
或nbFoxex
达到负数.
public static double calculateRabbits(double rabbits, double foxes, double attackRate) {
for (int i = 0; i < Duration; ++i){
rabbits = nbRabbits;
nbRabbits *= (1.0 + GROWTH_RATE_RABBITS - attackRate * nbFoxes );
**if (nbRabbits < 0.0){
nbRabbits = 0.0;
}**
}
return nbRabbits;
}
public static double calculateFoxes(double rabbits, double foxes, double attackRate) {
for (int i = 0; i < Duration; ++i){
nbFoxes *= (1.0 + ATTACK_RATE_INIT * rabbits * GROWTH_RATE_FOXES …
Run Code Online (Sandbox Code Playgroud) 我对SAS编程很陌生,我正在努力研究日期.
我在SAS中有一个数据集,其中日期以这种格式编写16NOV2007:00:00:00
,我需要将其转换为这种格式dd/mm/yyyy
任何人都可以帮忙吗?