📌인공지능 프로그램 V1
소스코드
package com.codestates.seb.Ai_V1;
import java.util.Scanner;
public class Ai_V1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("[인공지능 프로그램 V1]");
System.out.println("=".repeat(25));
System.out.print("예측에 영향을 주는 원인(광고비)의 값을 알려주세요(단위 원) : ");
int adMoney = sc.nextInt();
int a = 2, b = 1;
int preAi = a * adMoney + b;
System.out.printf("입력된 광고비는 %d원 입니다.%n", adMoney);
System.out.printf("AI의 예측(클릭 수)은 %d회 입니다.", preAi);
}
}
실행 예시

📌인공지능 프로그램 V2
소스코드
package com.codestates.seb.Ai_V2;
import java.util.Scanner;
public class Ai_V2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("[인공지능 프로그램 V2]");
System.out.println("=".repeat(25));
System.out.print("a 값을 입력해주세요 : ");
int a = sc.nextInt();
System.out.print("b 값을 입력해주세요 : ");
int b = sc.nextInt();
System.out.print("입력할 광고비의 개수를 정해주세요. : ");
int count = sc.nextInt();
double[] adMoney = new double[count];
System.out.println("광고비를 입력해주세요.");
for (int idx = 0; idx < adMoney.length; idx++) {
System.out.printf("%d번 째 입력 : ", idx + 1);
adMoney[idx] = sc.nextDouble();
}
System.out.println("입력된 광고비는 다음과 같습니다.");
for (int i = 0; i < adMoney.length; i++) {
System.out.printf("%d번 째 : %.1f원 ", i + 1, adMoney[i]);
}
System.out.printf("%n%n");
System.out.println("AI의 웹 페이지 방문자 수 예측 결과는 다음과 같습니다.");
for (int i = 0; i < adMoney.length; i++) {
System.out.printf("%d번 째 예측 : %.1f회 방문%n", i + 1, a * adMoney[i] + b);
}
}
}
실행 예시

📌인공지능 프로그램 V3
소스코드
package com.codestates.seb.Ai_V3;
import java.util.Scanner;
public class Ai_V3 {
public static void main(String[] args) {
System.out.println("[인공지능 프로그램 V3]");
System.out.println("=".repeat(25));
Scanner sc = new Scanner(System.in);
System.out.print("a 값을 입력해주세요 : ");
int a = sc.nextInt();
System.out.print("b 값을 입력해주세요 : ");
int b = sc.nextInt();
System.out.print("입력할 광고비의 개수를 정해주세요. : ");
int count = sc.nextInt();
double[] adMoney = new double[count];
System.out.println("광고비를 입력해주세요.");
for (int idx = 0; idx < adMoney.length; idx++) {
System.out.printf("%d번 째 입력 : ", idx + 1);
adMoney[idx] = sc.nextDouble();
}
double[][] xy_lists = new double[count][2];
System.out.println("실제 방문자 수 데이터를 입력해주세요.");
for (int i = 0; i < xy_lists.length; i++) {
System.out.printf("%d번 째 실제 방문자 수 데이터 : ", i + 1);
xy_lists[i][0] = sc.nextDouble();
}
for (int i = 0; i < xy_lists.length; i++) {
xy_lists[i][1] = a * adMoney[i] + b;
}
System.out.println();
System.out.println("인공지능 프로그램에 할당된 데이터");
for (int i = 0; i < xy_lists.length; i++) {
System.out.printf("%d번 째 데이터) 실제 방문자 수 데이터 : %.1f, AI 예측 방문자 수 데이터 : %.1f%n", i + 1, xy_lists[i][0], xy_lists[i][1]);
}
double diff_pow;
double sum_diff_pow = 0.0;
System.out.println();
for (int i = 0; i < xy_lists.length; i++) {
System.out.printf("[%d번 째 데이터] 실제 값과 예측 값의 오차 : %.1f%n", i + 1, xy_lists[i][0] - xy_lists[i][1]);
diff_pow = Math.pow(xy_lists[i][0] - xy_lists[i][1], 2);
System.out.printf("오차 값의 제곱 : %.1f%n", diff_pow);
sum_diff_pow += diff_pow;
}
System.out.println("=".repeat(25));
System.out.printf("인공지능 프로그램의 성능(오차의 제곱 합) : %.1f", sum_diff_pow);
}
}
실행 예시
입력 받을 값 : a, b, 광고비의 개수, 광고비, 실제 방문자 수 데이터

출력 값 : 실제 방문자 수 데이터, AI 예측 데이터, 오차, 오차의 제곱, 오차의 제곱 합
